| 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: 4 roky
|
|||
0