Autor | Zpráva | ||
---|---|---|---|
Tadeáš Profil * |
#1 · Zasláno: 18. 3. 2022, 11:13:31
Ahoj
řeším problém a nevím jak jej vyřešit. Zkusím nastínit o co jde. Mám xml feed kde jsou produkty struktura xml ...... <item> <id>1</id> <name>produkt</name> <category>nabytek</category> <section>interier</section> <manufactur>Koro</manufactur> <description>popis</description> </item> ..... xml nahraji, rozparsuji a vytvořím formulář kde si uživatel zaklikne které produkty chce importovat na základě vybraných category, section a manufacturer. Největší problém je pro mě, vytvořit v php podmínku která bude dynamicky tvořená a bude pouštět jen produkty, které splňují požadavky uživatele. Takže když se vybere kategorie nábytek a výrobce Koro tak jiné produkty se nebudou importovat. Tak samo pokud někdo vybere interiér a nábytek tak to importuje jen ty produkty, které to mají nastaveno. |
||
anonym_ Profil * |
#2 · Zasláno: 18. 3. 2022, 11:27:38
Tadeáš:
Tak je to jen cyklus, který kontroluje v podmínce/kách, jestli jsou splněny zadané parametry. Pokud ano, import položky, pokud ne, pokračujeme na další položku. |
||
Tadeáš Profil * |
#3 · Zasláno: 18. 3. 2022, 12:08:44
ten cyklus mi neděla problém, spiš poskladat tu podmínku podle toho co je vybrané
|
||
anonym_ Profil * |
#4 · Zasláno: 18. 3. 2022, 12:24:03
Tadeáš:
A problém je konkrétně kde? Co bylo odesláno ve formuláři víš, a podle toho si seskládáš ty podmínky, ne? Něco zkus, pokud si nebudeš vědět rady, dej vědět. |
||
Tadeáš Profil * |
#5 · Zasláno: 18. 3. 2022, 13:15:51
tohle je můj poslední pokus z toho by to mělo být jasné čeho potřebuji dostahnout
$name='nabytek'; $item=md5($name); $manufacturersSelected[$item]=$name; $name='Koro'; $item=md5($name); $categoriesSelected[$item]=$item; $segments=[]; $manufacturers=[]; $categories=[]; $totalCountProduct=0; $dataXml = simplexml_load_file('test.xml'); foreach ($dataXml->PRODUCT as $product) { $segment=(string)$product->segment; $manufacturer=(string)$product->manufacturer; $category=(string)$product->category; if (empty($manufacturer)) { $manufacturer="Neznámý výrobce"; } $segmentHash=md5($segment); $manufacturerHash=md5($manufacturer); $categoryHash=md5($category); $arr=[]; $limit=0; if (isset($segmentsSelected[$segmentHash])) { $arr[0] =$segmentsSelected[$segmentHash]; $limit++; } if (isset($categoriesSelected[$categoryHash])) { $arr[1] =$categoriesSelected[$categoryHash]; $limit++; } if (isset($manufacturersSelected[$manufacturerHash])) { $arr[2] =$manufacturersSelected[$manufacturerHash]; $limit++; } $arr = array_filter($arr); echo $limit; echo ' '; echo count($arr); if (count($arr)!= $limit) { echo 'vynechavam '; continue; }; echo '<hr>'; $totalCountProduct++; } |
||
Časová prodleva: 2 roky
|
0