pátek 28. října 2011

OpenCart XML feed pro zboží.cz

Ahoj, jeden počítačový příspěvek!
Kdybyste někdo potřeboval do e-shopu OpenCart extenzi, která generuje XML feed pro server zbozi.cz, tak jsem ji dneska vytvořil... mužete si ji stáhnout přímo z opencart.com kam jsem jí uploadoval :-) toť vše a blogujem dál :-)

Oprava redaktora (20.11.2015): Tak ten feed už z opencartích stránek smazali.. (taky už byl starej.. novej tam dávat nebudu protože nevím jestli funguje na novejch verzích... tak případně můžu poslat na vyžádání, třeba pro vlastní úpravu, ale jinak žádnou podporu už neposkytuju, 5 let sem ten kod neviděl..

34 komentářů:

  1. A nenasla by se i verze pro 1.4.9.1? Diky moc

    OdpovědětVymazat
  2. Až budu mít chvilku, tak se na to podívám...

    OdpovědětVymazat
  3. Ahoj, prosímtě, asi jsem blbej, ale nějak mi uniklo následné použití. Jaký mám volat soubor a podobně. Ještě jsem nic do heureka.cz nepřidával. Díky moc za radu

    OdpovědětVymazat
  4. Ahoj,
    no xml feed je v podstatě databáze všech výrobků které máš v e-shopu sepsaná v xml, díky které může například zbozi.cz zařadit tvé produkty do svého vyhledávání.
    funguje to tak, že pokud tuhle extenzi nainstaluješ, tak v adminovi/rozšíření/RSS katalog v jejím nastavení najdeš i odkaz na tento .xml soubor... tenhle odkaz po tobě bude chtít zboží.cz při registraci tvého e-shopu (krom jiných informací... no a to je celé... :-)

    OdpovědětVymazat
  5. No vidíš, tak to mě netrklo, ještě jsem na něj koukal, když jsem to aktivoval. Příště budu pořádně číst :) Díky moc za radu i za toto rozšíření ...

    OdpovědětVymazat
  6. Vůbec není zač... :-) pokud se ti ta extenze zamlouvá, budu vděčen pokud jí dáš na webu opencartu hlas... :-)

    OdpovědětVymazat
  7. Mohl bych tě ještě jednou otravovat?
    1) Z Heureky.cz mi napsali, že potřebují odkaz ve tvaru www.server.cz/heureka.xml, stačí mi přesměrování v .htaccess?
    2) Modul mi po otevření adresy vyhodí chybu, byl by jsi tak hodný a mohl na to mrknout, má to nějaké podmínky co vše musí být u zboží nastaveno?

    http://www.lifeinstyle.cz/index.php?route=feed/zbozi_base

    Předem moc děkuju za každý tip.

    OdpovědětVymazat
  8. určitě použij přesměrování v .htaccess to je bez problému...
    Co se týče té chyby, ty jsi do toho souboru ještě něco dopisoval? píše to chybu v entitě aacute... nejlépe když mi pošleš celý ten tvůj soubor abych to zkontroloval... (catalog/controller/feed/zbozi_base.php)
    na muj mail: simba112@gmail.com podívám se na to..

    OdpovědětVymazat
  9. Aha, tak ještě trochu jinak.. tu chybu tam máš proto, že se tam máš převedené znaky s diakritikou na html entity... á je html entita pro á...
    Podívej se jaké máš nastavené kódování webu, jaké máš nastavené kódování databáze? mělo by byýt všude UTF-8...
    Pak se můžeš podívat do databáze do tabulky category_description jestli tam máš název kategorie taky přepsanej do HTML entit...
    Zkoušel jsem to u sebe a mě všechna diakritika funguje a nic (krom třeba ampresantu) se na html entity nepřepisuje...
    Zkus co sem napsal a dej mi vědět...

    OdpovědětVymazat
  10. Super, prolezl jsem category_description v databázi, vykopal všechny entity a běží to. Neměl jsem na webu nastavené kódování, tak to tam asi cpalo nesmysly. Mockrát díky za pomoc a ještě jednou dík za rozšíření.

    Měj se fajn. MV

    OdpovědětVymazat
  11. Ahoj, díky za skvělý export! Mám jen jeden problém, špatně se mi vypisuje diakritika z description, hlavně á,í (č například funguje) tady je link: http://www.ml-fashion.cz/index.php?route=feed/zbozi_base

    V tvém souboru jsem nic nepřepisoval. Díky za radu!

    OdpovědětVymazat
    Odpovědi
    1. chyba bude pravdepodobne v kodování, podívej se v jakém kodování máš celý e-shop (kodování tvé databáze..) a podle toho uprav první řádku:
      v souboru /catalog/controller/feed/zbozi-base.php je tam nastaveno UTF-8 ale možná máš databázi v něčem jiném, pokud problém přetrvá napiš mi maila...
      simba112(zavináč)gmail.com

      Vymazat
  12. Ahoj, jak prosím napsat přesměrování v .htaccess z http://eshop-stasa.cz/index.php?route=feed/zbozi_base na http://eshop-stasa.cz/heureka.xml
    Zkoušel jsem Redirect 301 index.php?route=feed/zbozi_base http://eshop-stasa.cz/zbozi.xml a to nefunguje :-/

    OdpovědětVymazat
    Odpovědi
    1. Ahoj Andresi,
      právě jsem to zkoušel abych věděl jestli to funguje a funguje.. takže to pravděpodobně dokážeme rozběhnout i u tebe.. :-)
      1) zkontroluj jestli máš v kořenovém adresáři soubot .htaccess.txt (možná není vidět protože je systémový, nastav si by ti prohlížeč ukazoval i skryté/systémové soubory)
      2) tenhle soubor přejmenuješ na .htaccess (prostě bez přípony)
      3) v admin rozhraní opencartu v záložce system/nastaveni/ klikneš na "Upravit", vyber záložku "server" a zaklikni "ano" v možnosti "Použít SEO adresy" (je u toho i text jak máš přejmenovat .htaccess)
      4) v tuto chvíli máš zapnuté přepisování adres... můžeš to vyzkoušet... pokud si vezmeš nějakou kategorii, a vyplníš v záložce "data" možnost "SEO klíčové slovo" tak pak se ti bude například pod adressou: /desktops podstrkávat adresa: index.php?route=product/category&path=20 (tzn zobrazí se nová, ale v url v prohlížeči zůstává ta stará)
      5) pokud se ti předešlý krok podařil, gratuluju, ted už to bude snadné, pokud ne, zkontroluj jestli tvuj sever podporuje modRewrite a použití souboru .htaccess (jestli nepodporuje, zkus se zeptat správce serveru zda by nebylo možno podporu nějak získat
      6) otevři soubor .htaccess a tam uprav jednu až dvě věci...

      PRVNÍ: nastav správný RewriteBase (obvykle je to "/", pokud to ale třeba zkoušíš na localhostu nebo někde ve složce na severu, musíš to přepsat podle reality, takže třeba "/pokus/opencart/" prostě podle toho kde se opencart nalézá

      DRUHÁ:
      po řádku: RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]

      přidej řádek: RewriteRule ^zbozi_base.xml$ index.php?route=feed/zbozi_base [L]

      případně jinak podle toho jak chceš aby vypadalo nové URL... ulož a je hotovo...

      pokud to nebude fungovat napiš.. pokud to rozchodíš podle tohohle návodu, gratuluju a napiš stejně, abych věděl že je to v pohodě... díky a ahoj :-)

      Vymazat
    2. Děkujuuu. Já nikdy moc v htaccess moc neuměl. Dva dny jsme vytvářel na svém webu hezké URL :-D
      Tvůj postup funguje skvěle, jen jsem přidal ten řádek. Já myslel, že stačí redirect 301 ;-) Přeji hezké dny

      Vymazat
  13. Ještě jeden dotaz, mám zaplé seo, ale do XML se píšou ty škaredé linky na zboží...

    OdpovědětVymazat
    Odpovědi
    1. SUPER! :-))) díky moc.. to je chyba! musím pak uploadovat aktualizovanou verzi.. když jsem to psal nepomyslel jsem na přepisování adres... takže postup:

      1) otevři si soubor:
      catalog/controller/feed/zbozi_base.php

      2) přepiš tento řádek:
      $output .= '' . HTTP_SERVER . 'index.php?route=product/product&product_id=' . $product['product_id'] . '';

      tímto řádkem:
      $output .= ''. $this->url->link('product/product', 'product_id=' . $product['product_id']) .'';

      3) ulož a bude to fungovat na podle toho jaké adresování budeš mít zapnuté jestli SEO frindly nebo ne...

      jestli ok a pomohl jsem ti, budu moc rád když na webu opencartu zahlasuješ pro mou extenzi :-) sem rád že jsem mohl pomoci.. Ahoj

      Vymazat
    2. hmm tak se to sem špatně zobrazilo protože googl odfiltroval html tagy tak ti to pošlu ještě jednou mailem..

      Vymazat
  14. Zdravím,
    chtěl jsem poděkovat za modul xml feedu. Nasadil jsem ho a ze začátku jel v pohodě, bohužel ale v poslední době mi server hlasí error 500 a vubec se mi daný feed nechce načíst. Shop má cca 1000 položek. Netuším v čem může být problém. Podpora hostingu to hází na autora (modulu). Nastavil jsem větší pamětový limit, ale stále nic. Pakliže bych mohl poprosit o tip co s tím, byl bych opravdu vděčný. Adresa feedu je http://shop.charlie-rybarskecentrum.cz/index.php?route=feed/zbozi_base

    OdpovědětVymazat
    Odpovědi
    1. Takže to již funguje... asi to nebylo na straně feedu, nebo ano?

      Vymazat
  15. Dobrý den, také mám problém s kódováním znaků, databázi mám kodovanou v utfku, ale pořád mi to převádí český znaky na paznaky.
    Mam opencart v1.5.4.1. Je zde nějaké řešení?

    OdpovědětVymazat
    Odpovědi
    1. A máte nastavené stejné kodování ve feedu i v databazi? pošlete prosím když tak adresu feedu.. většinou tato chyba nastává pokud je někde kodování nastaveno jinak... vis připomínky ostatních výše...

      Vymazat
    2. http://brazilkeratin.cz/index.php?route=feed/zbozi_cz Tady je adresa feedu, vsude mam utf-8.. Dekuji za pripadnou radu.

      Vymazat
    3. Máte pravdu UTF-8 tam je... přijde mi ale divná ta adresa... standardně je to totiž takto... http://brazilkeratin.cz/index.php?route=feed/zbozi_base , vy jste ji nějak přepisoval? vypadá to že je to uplně jiný feed...Jinak na této adrese jak jsem psal feed je a česky funguje... píše jen, že máte chybu ve znaku 80072, zkuste se podívat do databaze v jakém znaku by mohla být chybka.. mě se to občas dělo se znakem & ale třeba přijdete ještě na něco dalšího.. pokud tam ten znak budete chtít, nahraďte ho html entitou: http://www.jakpsatweb.cz/html/entity-vsechny.html

      Vymazat
    4. Po nainstalování , při pokusu o editaci mi píše: Fatal error: Call to a member function link() on a non-object in /data/web/virtuals/31809/virtual/www/subdom/shop/admin/controller/feed/zbozi_base.php on line 46.
      Poradíte? Martin

      Vymazat
    5. Takhle bohužel nevím, mate to někde na netu? Pošlete mi když tak odkaz na feed, diky

      Vymazat
    6. Měl bych dotaz, neměla by fce html_entity_decode převádět html entity na normální znaky a proč to nedělá? Všude jinde to musí dělat, ale tady ve feedu jsou pořád znaky jako oacute; atd. Prostě by se už měl zobrazit normální znak a ono nic...

      Vymazat
  16. Dobrý den,

    dá se tento feed použít i pro Heureku?

    Děkuji za odpoveď

    OdpovědětVymazat
    Odpovědi
    1. Dobrý den, dle mého zběžného pohledu na specifikaci na heurece by to jít mělo.. není nic jednodušího než to vyzkoušet... však nikdy jsem to osobně nedělal.. prosím když tak sem pak napiště jak vaše akce dopadla.. díky

      Vymazat
  17. Ahoj Simba, mám problém s XML pre Heureku. Chcel som vykonať presmerovanie na heureka.xml podľa Tvojho návodu, lenže po doplnení RewriteRule to nefunguje. Vieš mi niečo poradiť? Ďakujem.

    OdpovědětVymazat
  18. Dobrý den, chtěla bych vědět, jestli je tato verze použitelná i pro OC 1.5.5.1. díky

    OdpovědětVymazat
  19. Dobrý den,

    modul mi fungoval, ale teď začal psát tohle:

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 24576 bytes) in /data/web/virtuals/78404/virtual/www/catalog/controller/feed/zbozi_base.php on line 129

    poradíte, prosím?

    díky, Marek

    OdpovědětVymazat