Heureka.cz – Ověřeno zákazníky v prestashopu

Heureka - ověřeno zákazníkyJak jistě víte, heureka.cz je po zboží.cz druhým nejvěším srovnávačem zboží v české republice. Z mého pohledu je možná lepší než právě jmenovaný konkurent zbozi.cz
Jelikož se moje shopy trošku více rozrostli a chci aby zákazníci viděli, že obchod je nejlepší musel jsem použít službu ověřeno zákazníky. Nyní mě čekalo zakomponování scriptu do prestashopu.

1) stáhněte si .php soubor HeurekaOvereno.php a vložte ho do konfigurační složky config.
2) Nyní otevřete soubor classes/PaymentModule.php a do funkce validateOrder pod odesílání emailu (u mě řádek 320) vložte:

/* Heureka - ověřeno zákazníky */				
require_once (dirname(__FILE__).'/../config/HeurekaOvereno.php');
try {
    $overeno = new HeurekaOvereno(_ID_HEUREKA_);
    $overeno->setEmail($customer->email);
foreach ($products AS $product) {
 $overeno->addProduct($product['name']);
}
    $overeno->send();
} catch (Exception $e) {
// nastavení pro zalogování chyby
print $e->getMessage();
}

Místo _ID_HEUREKA_ můžete natvrdo napsat svoje ID číslo shopu. Já si to udělal takto a do konfiguračního souboru settings.inc jsem si vložil define(‚_ID_HEUREKA_‘, ‚id číslo shopu‘);.

Nyní už bude script funkční. Při testování jsem ovšem přišel, že při dobírce se dotazník neodešle. Důvodem bylo používání modulu cashondeliverywithfee, který má potvrzování zboží a odesílání emailu zabudován v souboru <strong>modules/cashondeliverywithfee/cashondeliverywithfee.php
Takže musíte stejný script přidat i sem.

Pozor na cestu k souboru HeurekaOvereno.php
Já jí mám: require_once (dirname(__FILE__).’/../../config/HeurekaOvereno.php‘);

Pokud by nebylo někomu něco jasné, napište rád vysvětlím.

Závěrem článku bych chtěl poděkovat uživateli haVaj, který mi pomohl najít tu správnou cestu a bez kterého bych to asi sám těžko zvládl.

Příspěvek byl publikován v rubrice Scripty, Úpravy se štítky , , , . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

14 komentářů u Heureka.cz – Ověřeno zákazníky v prestashopu

  1. Zdravím, našel by se někdo, kdo by dokázal tento postup upravit také pro Prestu verze 1.1 ?? díky mnohokráte předem…

  2. Jan Kašpar napsal:

    vždyť je to úplně stejný, navíc já používám verzi 1.1 a psal jsem to pro ní.. kdyžtak napiš do kontaktu prestashopcesky.cz a já ti odepíšu 😉

  3. Problema napsal:

    Dobry večer, prosim Vas podivat na to: http://www.prestashop.com/forums/viewthread/32526/#188668 je tomu nejake rešeni, diky moc!

  4. Kam nakopírovat text napsal:

    Dobrý den,

    nejsem programátorka, takže mám problém s tím, kam nakopírovat ten text, který uvádíte výše. Ve funkci validateOrder se nevyznám. Mohl byste mi prosím napsat, za který řádek (jaký text na něm je) se má Váš zdrojový kód nakopírovat?

    Děkuji,

    Daniela

  5. Cvakino napsal:

    Ahoj, postupoval jsem dle tvého návadu a někde je chyba. Určitě něco dělám blbě 🙂 Vložil jsem ten script jak do PaymentModule.php tak do cashondeliverywithfee.php
    a když jsem si něco objednal tak objednávka proběhla v pořádku ale nepřišel mi žádnej dotazník. Můžu poslat ty dva soubory aby ses na to mohl kouknout dík

  6. Pavel napsal:

    v paymentmodule.php mi to funguje normálně, ale v cashondeliverywithfee.php mi to po potvzení objednávky zamrzne na napůl načtené stránce a nehodí mě to na historii objednávek. Heuréku mám vloženou pod řádkem:

    Mail::Send(intval($order->id_lang), ‚order_conf‘, ‚Order confirmation‘, $data, $customer->email, $customer->firstname.‘ ‚.$customer->lastname, NULL, NULL, $fileAttachment);

    Poradí někdo?

  7. Cvakino napsal:

    Tak chyba byla mezi klávesnicí a židlí 😀 na FTP se mi nepřepsal soubor na nový (doplněný)

  8. Jan Kadera napsal:

    Ahoj,
    prvně strašně moc děkuju, protože najít na internetu návod, kterým si člověk nepodělá celý projekt je dnes opravdu rarita a tenhle návod fungoval a byl jednoduše vysvětlený.

    Podařilo se mi upravid paymentmodule tak, aby se heurece opravdu zasílaly ty testovací objednávky. Nebyl jsem ale schopen upravit ten cashondeliverywithfee modul. Kod v nem vypada takhle:

    if ($orderStatus->send_email AND Validate::isEmail($customer->email)) Mail::Send(intval($order->id_lang) , ‚order_conf‘, ‚Order confirmation‘, $data, $customer->email, $customer->firstname . ‚ ‚ . $customer->lastname, NULL, NULL, $fileAttachment);

    $this->currentOrder = intval($order->id);

    return true;

    Na ta poznačená místa jsem zkopírovat funkční kód z payment modulu a na obou to udělá to, že dám potvrdit objednávku a zůstane načtený interface obchodu, ale do místa pro tělo, v tu chvíli se souhrnem objednávky…se nic nenačte, je to prostě bílé.

    Any ideas na co jsem zapoměl?
    Díky moc!
    Honza

  9. Tomáš Hilger napsal:

    Tak jsem to zkoušel udělat podle návodu, ale nefunguje mi to. Po kliknutí na pokladnu se mi načte jen bílá stránka (PS 1.4.6).
    Můžete mi poslat přímo ukázku upraveného kódu. Jak paymentmodule tak cashondelivery.
    Díky Tom

  10. René napsal:

    Dobrý den

    cashondeliverywithfee po objednání zůstane bíle okno , je na to nějaka rada?
    moc děkuji za zprávu

  11. René napsal:

    Dobrý den ,
    Prosím o odpověď proč stránka zustavá bílá v cashondeliverywithfee.
    děkuji
    na volanty@seznam.cz

  12. Zdeněk napsal:

    Měl jsem stejný problém, důvodem je nedokončení celého skriptu. V mém případě proto, že byla špatně zadaná cesta ke scriptu uloženém v config složce, zkontrolujte proto zda máte skutečně spránou cestu v řádku

    require_once (dirname(__FILE__).’/../../config/HeurekaOvereno.php’); (je nutné zadat /../../ )

    pokud uvedete require_once (dirname(__FILE__).’/../config/HeurekaOvereno.php’); nebude to fungovat !!!! protože budete ve špatném adresáři (respektive stále v adresáři modules

    Zdeněk

  13. Bedy napsal:

    Dobrý den, začínám nově s prestou 1.5.3. Nějak si nemohu poradit kam přesně vložit uvedený skript pro odesílání objednávek ověřeno zákazníky. Pokud by někdo poradil byl bych moc rád.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

This blog is kept spam free by WP-SpamFree.