Košík - motivator k nákupu

Rudolf Baláš napsal: - od té doby co to má alza a zákazníci to chtějí taky
Jinak mi vyhrožují jinými systémy



Ale nebuďte smutný, až rozjedeme portal minijoomla.org tak tam najdete všechny doplňky z portalu EasyJoomla.org v nové verzi a plus nové verze od nás včetně toho Free Shipping info.
Pak si to můžete koupit za mrzký peníz pokud to budete chtít

MiniJoomla! - www.minijoomla.cz - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla
Ernst napsal: tak jsem se na vyžádání ještě podíval na ten kód do modulu košík:
takže celý kód bude vypadat například:
Code:<div class="motivator"> <?php $celkem = floatval(preg_replace(array("/[^0-9,.]/","/[.,]/"), array("","."), $data->billTotal)) ?> <?php if ($celkem = 0) { ?> <span style="animation: blinker 2s linear infinite;">Při objednávce nad 5000,- je doprava zdarma!</span> <?php } elseif ($celkem < 5000) { ?> <span style="animation: blinker 2s linear infinite;">Chcete dopravu zdarma? Přidejte ještě zboží za: <?php echo (5000 - ($celkem)) ?>,-</span> <?php } else { ?> <span style="font-weight: 700; color: #109d16;">Vaše objednávka bude dopravena zdarma!</span> <?php } ?> </div>
Vyzkoušeno. posunuli jsme se hodně dopředu. Ale . . .
hned na startu to přeskočí první podmínku. i když jsem změnil podmínku na ==0 tak ji přeskočí a zobrazí podmínku druhou. Tuhle dopdmínku to ale počítá zvláštně. Pokud mám prázdný košík, tak bych měl mít výzvu na přidání do košíku za 5000,-. Místo toho mi to počítá na 4905 a někde se nám zatoulalo 95 kaček. Možná by pomohlo změnit druhou podmínku na větší než 0 a menší než 5000,-
třetí podmínka vypadá dobře.
ajax by byl luxus, takhle musím pořešit, aby se mi nenačítal košík do cache.
Třetí podmínka funguje správně.
Rudolf Baláš napsal: a ajaxová komponenta Free shipping info
Máte link na tu komponentu? Na forek VMnet mi toho vyskakuje mraky a vždy se to tváří jako balík něčeho. nepoznám, kterou máte na mysli.
Já si tu možnost ajaxu v košíku neuvědomil.
musí se do default.php v přepisu košíku v šablone doplnit js, který ten text taky aktualizuje.
sorry jako, ta podmínka musí být <?php if ($celkem <= 0) { ?> místo <?php if ($celkem = 0) { ?> , to jsem přehlédl. Musí to tak být, protože $celkem je typu float.hned na startu to přeskočí první podmínku. i když jsem změnil podmínku na ==0 tak ji přeskočí a zobrazí podmínku druhou. Tuhle dopdmínku to ale počítá zvláštně. Pokud mám prázdný košík, tak bych měl mít výzvu na přidání do košíku za 5000,-. Místo toho mi to počítá na 4905 a někde se nám zatoulalo 95 kaček. Možná by pomohlo změnit druhou podmínku na větší než 0 a menší než 5000,-
Ten ajax není zas tak složitý uvede variantu pro něj, která bude fungovat i při vypnutém ajax, takže pro obojí jedno řešení.
musí se změnit /modules/mod_virtuemart_cart/assets/js/update_cart.js.
ten ale není chráněn při upgrade VM, takže by jsi ho musel znovu měnit po každém upgrade.
Nejsem v JS tak zběhlý, abych věděl jak js umístit do souboru default.php v přepisu modulu košíku v šabloně.
Pokud mi zde někdo poradí, budu velmi rád.
Ještě to otestuji a pak zde uveřejním, asi večer
Ernst napsal: Já už to předělal i pro ten ajax a některé chyby jsem při testu opravil.
Ještě to otestuji a pak zde uveřejním, asi večer
To abych ti večer klepnul husu. Nebo raději králíka?

1. do přepisu modulu košíku v šabloně - /templates/xxxxxx/html/mod_virtuemart_cart/default.php si doplnit
pak do /modules/mod_virtuemart_cart/assets/js/update_cart.js
dát místo
Možná někdo ví jak to udělat jinak, aby se ten js doplnil do /templates/xxxxxx/html/mod_virtuemart_cart/default.php, já bohužel ne, a uvítam každou radu, jestli to jde.
Také by se ještě měly ty texty "natvrdo" dát do jazykových proměnných.
Ernst napsal: tak takhle:
nevýhodou je, že změny v /modules/mod_virtuemart_cart/assets/js/update_cart.js se přepíšou při reinstalaci nebo upgrade.
No, já na VMko už několik let používám template od Flexiblewebdesign. Sice drahá záležitost, ale mi se líbí. Ti dělají aktualizaci jednou za půl roku a to jen když se vyskytně nějaký konflikt s novou verzí VM. Košík mají řešený vlastním modulem. Takže kod vložim do flexible_update_cart.js a můžu aktualizovat VMko jak chcu

Hned ráno to zkusím vložit na web a dám vědět.
na vlastním modulu a js šablony jsem to testovat nemohl, tak si to v nejhorším uprav
PS huse a králíkovi dej milost :lol:
/templates/xxxxxx/html/mod_virtuemart_cart/default.php si doplnit
Navíc ji můžete dát třeba do šablony /templates/xxxxxx/html/mod_virtuemart_cart/ nebo někam do /media
V /modules/mod_virtuemart_cart/assets/js/ si vytvořte kopii update_cart.js a nazvěte ji update_cart_new.js.
Tu pak upravte:
Tím to je řešení konečné a univerzální, odolné vůči upgradům.


Co se týká komponenty a modulu, vycházeli jsme od konceptu firmy idealconception.com pro J1.5 a 2.5, bohužel tento web již není dostupný. Ve verzi pro J1.5 to bylo bez ajaxu, ve verzi pro J25 to již obsahovalo Ajax.
Každopádně to řešení jsme přeprogramovali do J3 a zůstalo nám.
A máte to hezky vyřešené, ještě vám chybí administrace pro nastavení jazykových konstant pro každý jazyk (language file Vám nepomůže, u multijazyčného a multiměnového eshopu musíte zajistit závislost země, jazyku a měny, která ve VM není)
Prostě máte pochvalu a pro první a pro použití natvrdo to stačí.
Pro automatické nasazování na eshopy to chce dopilovat, odladit v případě že používáte OPC a je třeba vyřešit konflikty v ajaxu s OPC a další, ale už jenom drobné úpravy

Řeknu Václavovi, že mu tady vzniká konkurence v programování

MiniJoomla! - www.minijoomla.cz - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla