Jump to content

cendaprnda

Members
  • Posts

    36
  • Joined

  • Last visited

Everything posted by cendaprnda

  1. Ahoj všem, chtěl bych podpořit nějakým mrzkým penízem zbozi.cz, ale ne zas nějak moc . Chtěl bych proto změnit svůj feed pro zbozi.cz tak, aby všechny produkty byly TOLLFREE 1 a pouze pár aby bylo zpoplatněno. Celkme to funguje, nicméně feed mi vždy vyhodí chybu na uplně stejném místě Chrome hlásí error on line 1140 at column 17: xmlParseEntityRef: no name Mozila pak Chyba parsování XML: Dokument není dobře zformátován Adresa: http://www.i-hrackarstvi.cz/zbozi_test.php Číslo řádku 1140, sloupec 17: Blok & Blok 5 family -----------------------^ Tato chyba se pak zobrazuje i když vymažu přidané echo, které jsem do scriptu přidal . Jediné kdy opět script začne fungovat je přehrání scriptem stávajícím. K editaci používám PSPAD. Má někdo nápad proč to blbne ? Případně jak řešíte položku TOLLFREE na zbozi.cz vy ? Script originál <?php $shopUrl = 'www.xxxx.cz'; $noShowCategory = "7,8,9,69,70,71,72,73,74,75,76,77,78,79"; $cfgFile = dirname(__FILE__) . '/config/settings.inc.php'; if (!file_exists($cfgFile)) { die('Skript musi byt umisten v rootu prestashopu v config/settings.inc.php musi byt nastaveni databaze.'); } require_once($cfgFile); $db = @MySQL_Connect(_DB_SERVER_, _DB_USER_, _DB_PASSWD_); if (!$db) { die('Nemohu se spojit s databazi.'); } MySQL_Select_DB(_DB_NAME_, $db); MySQL_Query("SET NAMES 'utf8'"); $prefix = "ps_"; header("Content-Type: text/xml"); echo '<?xml version="1.0" encoding="utf-8"?>'; ?> <?php echo "\n\n"; $res = MySQL_Query(" SELECT p.id_product, p.quantity, p.price, p.reduction_price, p.reduction_percent, p.reduction_from, p.reduction_to, pl.name, pl.description_short, pl.link_rewrite, i.id_image FROM {$prefix}product p JOIN {$prefix}product_lang pl USING(id_product) JOIN {$prefix}image i USING(id_product) WHERE i.cover = 1 AND NOT (SELECT COUNT(*) FROM {$prefix}category_product cp WHERE cp.id_product = p.id_product AND cp.id_category IN($noShowCategory)) ORDER BY p.id_product", $db); $currentDate = date('Y-m-d'); while ($row = MySQL_Fetch_Assoc($res)) { $desc = strip_tags(html_entity_decode($row['description_short'], ENT_COMPAT, 'utf-8')); if ($result['reduction_from'] == $result['reduction_to'] || ($result['reduction_from'] <= $currentDate && $currentDate <= $result['reduction_to'])) { if ($row['reduction_price'] && $row['reduction_price'] > 0) { if ($row['reduction_price'] >= $row['price']) { $reduction = $row['price']; } else { $reduction = $row['reduction_price']; } } elseif ($row['reduction_percent'] && $row['reduction_percent'] > 0) { if ($row['reduction_percent'] >= 100) { $reduction = $row['price']; } else { $reduction = $row['price'] * $row['reduction_percent'] / 100; } } } echo "\n"; echo "\t" . mb_substr($row['name'], 0, 64, 'utf-8') ."\n"; echo "\t" . mb_substr($desc, 0, 512, 'utf-8') . "\n"; echo "\thttp://" . $shopUrl . "/" . $row['id_product'] . "-" . $row['link_rewrite'] . ".html\n"; echo "\tnew\n"; echo "\t" . ($row['quantity'] > 0 ? "0" : "73") . "\n"; echo "\thttp://" . $shopUrl . "/img/p/" .$row['id_product'] . "-" . $row['id_image'] . "-large.jpg\n"; echo "\t" . round($row['price']-$reduction/1.20) . "\n"; echo "\n"; } echo "\n"; ?> upraveny jen přidán řádek echo "\t" . ($row['quantity'] = 0 ? "1" : "0") . "\n"; Vygeneruje se cca 1000 položek a pak vyhodí chybu. Protože v php umím prdlajs, tak sem chtěl využít, toho, že dodavatele mám u všeho zboží jako 0 a pomocí id_supplier (namísto quantity) bych si jen definoval zda se má zobrazovat nebo ne. Podporovat chci třeba jen 10 ks zboží. Budu rád za každou radu, nebo nápad jak jinak vyřešit v xml parametr TOLFREE Zdeněk
  2. Zdravím všechny, chtěl bych malinko učesat řezení zboží v kategoriích. Jedná se mi hlavně o přehlednost. Nyní mám například produkty autíček v kategorii Modely aut, motorek, letadel - Kovové. Chtěl bych ale aby tyto produkty byly současně i v podkategorii Auta - Auta, autobusy, traktory kovové. Samozřejmě lze to řešit ručně ale 400 produktu je celkem hokna . Nemluvě o tom, že bych chtěl postupně učesat cca 8000 produktů. Jednou z možností je provést přidání řádků do ps_category_product, tam mě ale mate jedna věc. Jsou zde 3 sloupečky - id category (to je mi jasné), id_product (tasky jasné) a position (pravděpodobně pozice v dané kategorii). A ted k dotazu, je možné abych pomocí příkazu mysql insert přidal jednoduše další řádek s ID_category, id_produktu, position (libovolné) ? Jde mi hlavně o to, že position by bylo vždy stejné číslo nebo by mohlo být i jiné, ale nemohu zaručit, že již stejné číslo se stejnou position v dané kategorii neexistuje ? Díky všem za rady případně nápady jak jednoduše přiřadit další kategorii k velkému množství produktů Zdeněk http://www.i-hrackarstvi.cz
  3. Díky Janovi, který pro mě naspal upravený feed to již funguje.Hlavní problém byl pravděpodobně v tom že potřebuju exportovat cca 6000 položek a pokud se použil ten druhý kratší script, výsledek byl nulový protože došlo k zahlcení paměti. Víc by o tom asi napsal přímo on sám, tímto mu chcu ještě jednou poděkovat když tvrdošíjně odmítal veškeré hmotné statky. Pokud bude souhlasit přidám sem jeho upravený feed Zdeněk
  4. Bohužel ani středník a vymazání zbytečných echo nepomohlo . Pravděpodobně to budu řešit investicí do xml exportéru, on není problém to nastavit v Cronu, osobně se mě tohle řešení i líbí, nicméně každý den kdy člověk nevysí na heuréce jsou zákazníci kteří prostě nejsou
  5. Ahoj všem předem bych chtěl říct, že jsem poctivě prošel všechno co se tu o zbozi.cz napsalao a vyzkoušel různé verze feedu. V závěru jsem našel jeden, který mi skutečně funguje, zde je výpis <?php $shopUrl = 'www.i-hrackarstvi.cz'; $noShowCategory = "7,8,9,69,70,71,72,73,74,75,76,77,78,79"; $cfgFile = dirname(__FILE__) . '/config/settings.inc.php'; if (!file_exists($cfgFile)) { die('Skript musi byt umisten v rootu prestashopu v config/settings.inc.php musi byt nastaveni databaze.'); } require_once($cfgFile); $db = @MySQL_Connect(_DB_SERVER_, _DB_USER_, _DB_PASSWD_); if (!$db) { die('Nemohu se spojit s databazi.'); } MySQL_Select_DB(_DB_NAME_, $db); MySQL_Query("SET NAMES 'utf8'"); $prefix = "ps_"; header("Content-Type: text/xml"); echo '<?xml version="1.0" encoding="utf-8"?>'; ?> <?php echo "\n\n"; $res = MySQL_Query(" SELECT p.id_product, p.quantity, p.price, p.reduction_price, p.reduction_percent, p.reduction_from, p.reduction_to, pl.name, pl.description_short, pl.link_rewrite, i.id_image FROM {$prefix}product p JOIN {$prefix}product_lang pl USING(id_product) JOIN {$prefix}image i USING(id_product) WHERE i.cover = 1 AND NOT (SELECT COUNT(*) FROM {$prefix}category_product cp WHERE cp.id_product = p.id_product AND cp.id_category IN($noShowCategory)) ORDER BY p.id_product", $db); $currentDate = date('Y-m-d'); while ($row = MySQL_Fetch_Assoc($res)) { $desc = strip_tags(html_entity_decode($row['description_short'], ENT_COMPAT, 'utf-8')); if ($result['reduction_from'] == $result['reduction_to'] || ($result['reduction_from'] <= $currentDate && $currentDate <= $result['reduction_to'])) { if ($row['reduction_price'] && $row['reduction_price'] > 0) { if ($row['reduction_price'] >= $row['price']) { $reduction = $row['price']; } else { $reduction = $row['reduction_price']; } } elseif ($row['reduction_percent'] && $row['reduction_percent'] > 0) { if ($row['reduction_percent'] >= 100) { $reduction = $row['price']; } else { $reduction = $row['price'] * $row['reduction_percent'] / 100; } } } echo "\n"; echo "\t" . mb_substr($row['name'], 0, 64, 'utf-8') ."\n"; echo "\t" . mb_substr($desc, 0, 512, 'utf-8') . "\n"; echo "\thttp://" . $shopUrl . "/" . $row['id_product'] . "-" . $row['link_rewrite'] . ".html\n"; echo "\tnew\n"; echo "\t" . ($row['quantity'] > 0 ? "0" : "73") . "\n"; echo "\thttp://" . $shopUrl . "/img/p/" .$row['id_product'] . "-" . $row['id_image'] . "-large.jpg\n"; echo "\t" . round($row['price']-$reduction/1.20) . "\n"; echo "\n"; } echo "\n"; ?> Chtěl jsem samozřejmě t samé i pro Heuréku, a hledal feedy, ale ani jeden z nich mi nefunguje a to samé bohužel i feedy které jsou pro ostatní porovnávače cen. Za boha netuším kde je problém. Vždy se mi zobrazí pouze prázdná obrazovka, nic víc nic mí. Zkoušel jsem zjistit kde je problém a pomocí eacha a "zalomítkování" příkazů jsem došel k tomu že problém vzniká na řádku (češtinu mám jako 4tý jazyk) $p=Product::getProducts(4, 0, 0, 'id_product', 'desc', false); // ceština je v databázi zapsaná pod číslem 3 pokud tento příkaz "zalomítkuju a dám za něj echo tak se echo provede, pokud ho nechám aktivní tak se echo neprovede a obrazovka je bílá. Nenašel by se někdo kdo by mě řekl kde je chyba. Díky moc. Tady ještě celý kód který mě osobně končí bílou obrazovkou a nic nevypíše <?php echo '<?xml version="1.0" encoding="utf-8"?>; $shopUrl = 'http://i-hrackarstvi.cz'; // adresa shopu včetně http:// include(dirname(__FILE__).'/config/config.inc.php'); // cesta ke config souboru include(dirname(__FILE__).'/init.php'); echo '<?xml version="1.0" encoding="utf-8"?>; error_reporting(0); $p=Product::getProducts(4, 0, 0, 'id_product', 'desc', false); // ceština je v databázi zapsaná pod číslem 3 $products=Product::getProductsProperties(4, $p); // ceština je v databázi zapsaná pod číslem 3 header("Content-Type: text/xml"); echo '<?xml version="1.0" encoding="utf-8"?> '; foreach ($products as $row) { $img=Product::getCover($row['id_product']); echo ' '.str_replace("&", "&", $row['name']).' '.str_replace("&", "&",strip_tags($row['description_short'])).' '.$row['link'].' '.$shopUrl.'/img/p/'.$row['id_product'].'-'.$img['id_image'].'.jpg '.($row['price']*1).' 0 '; } echo ''; */ ?> Používám hosting onebit.cz a jedu na Prestashopu 1.3.2 (www.i-hrackarstvi.cz) Díky všem za rady
  6. Jejda zapoměl jsem hodím si ho do profilu. www.i-hrackarstvi.cz/x.php (zatím jsem to nechtěl spouštět dokud tam bude takovej masakr chybějících obrázků)
  7. Už jsi mi párkrát pomohl, tak kdybys potřeboval dalšího testera, jsem k dispozici
  8. Nesetkal jste se někdo s tím že by mu po kliknutí na výrobce u vypsanýého zboží uplně chyběli obrázky (nedohazuje to neexistující apod. Prostě je vůbec nezobrazí. Tenhle problém se objevuje navíc pouze v Internet exploreru 8. Chrome a mozilla je v pořádku a zobrazuje to co má Pokud někoho něco napadá budu rád za jakoukoli radu Jedu na presta 1.3.2.
  9. Potvrzuji funkčnost změny v tools.php i na 1.3.2.3 Já vůl jsem se k prestě dostal poprvé cca před 14 dny a to už byla na světe 1.3.2. tak vždycky trnu hrůzou jestli to či ono pojede. Zatím jsem ale nenarazil na nic co by se nepovedlo díky rozsáhlé diskuzi zprovoznit. BTW - tady sem zagumoval a zbytečně se u tohodle zasekl na víc jak hodinu proto, že jsem spoléhal naivně že v poznámkovém bloku není problém editovat PHP a ono bohužel je . První výsledek byl znefunkčnění celé presty včetně administrace a podruhé hláška o nemožnosti vytvoření PDF. Opravdu vřele všem doporučuji používat PSPad Editor
  10. Ahoj, Díky za tip ono nejde ani tak opřesnost jako hlavně o to, že takto rozsegmentované dostávám podklady od dodavatele = prostě by to byla práce navíc, nicméně nakonec z toho vypadlo že i takto rozsekané to bude mít 150 položek a to díky rychlému scrolování není tak hrozné naopak se mě to celkem líbí. Zdeněk
  11. Mám dotaz zda je možné jinak než záashem do databáze jednoduše vytvořit v bloku Výrobci podkategorie - něco jsme našel na zahraničních forech, ale nic konkrétního. Jedná se mi o to, že zboží dostávám již rozdělené a je tam např. jako výrobce uveden Lego a podkategorie Lego City Pokud bych to neřešil podkategoriema tak budu mít těch výrobců 400. Druhá možnost je vytvořit si převodní tabulku a výrobce v csv podle toho upravit, ale přece jen si říkám že by bylo příjemnější tohle nemuset obsolvovat. Díky všem za podněty - často stačí jen nakopnout správným směrem a výsledek se dostav
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More