Joomla 5.2.2 Security & Bugfix Release
Joomla 5.2.2 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 5.x.
Košík - motivator k nákupu
13. lis 2018 12:28 #137639
Ahoj.
Loni jsem řešil kus kodu, díky kterému by se mi měl na stránce detailu produktu zobrazovat text, který se mění v závislosti na tom, jakou hodnotu má zboží vložené do košíku. Díky některým z vás jsem to dal do kupy:
Tohle je kod pvo VM2 a umístěný je v modulu košíku.
Nyní řeším, že potřebuji tento kod zobrazovat v detailu produktu a ve VM3.
Kod jsem tedy vložil, ale nepřepočítává to . . . . jen zobrazí první volbu. Jelikož php je moje "jediná a nejslabší " stránka, tak nějak netuším, jestli je to tím, že je to umístěno mimo modul košíku, nebo tím, že je to v novější verzi VMka.
Mám takové tušení, že je to ta druhá možnost. A odhaduju že problém bude konkrétně v "$data->billTotal" . . . . poučíte mě prosím?
Loni jsem řešil kus kodu, díky kterému by se mi měl na stránce detailu produktu zobrazovat text, který se mění v závislosti na tom, jakou hodnotu má zboží vložené do košíku. Díky některým z vás jsem to dal do kupy:
Code:
<div class="motivator" style="padding: 10px;position: absolute;width: 350px;right: 150px;bottom: -3px;padding: 10px;color: #e8102c;text-align: right;text-transform: none;">
<?php if ($data->billTotal == 0) { ?>
<span style="animation: blinker 2s linear infinite;">Při objednávce nad 5000,- je doprava zdarma!</span>
<?php } elseif ($data->billTotal < 5000) { ?>
<span style="animation: blinker 2s linear infinite;">Chcete dopravu zdarma? Přidejte ještě zboží za: <?php echo (5000 - ($data->billTotal)) ?>,-</span>
<?php } else { ?>
<span style="font-weight: 700; color: #109d16;">Vaše objednávka bude dopravena zdarma!</span>
<?php } ?>
</div>
Tohle je kod pvo VM2 a umístěný je v modulu košíku.
Nyní řeším, že potřebuji tento kod zobrazovat v detailu produktu a ve VM3.
Kod jsem tedy vložil, ale nepřepočítává to . . . . jen zobrazí první volbu. Jelikož php je moje "jediná a nejslabší " stránka, tak nějak netuším, jestli je to tím, že je to umístěno mimo modul košíku, nebo tím, že je to v novější verzi VMka.
Mám takové tušení, že je to ta druhá možnost. A odhaduju že problém bude konkrétně v "$data->billTotal" . . . . poučíte mě prosím?
13. lis 2018 12:39 - 13. lis 2018 12:40 #137640
Odpověď od marvays
Návštěvník
Tak potvrzeno, i Vmdebug si to myslí:
Code:
Notice: Undefined variable: data in /www/templates/astroid_template_zero/html/com_virtuemart/productdetails/default.php on line 257
Code:
<?php if ($data->billTotal == 0) { ?>
13. lis 2018 12:42 - 13. lis 2018 12:44 #137641
Odpověď od Ernst
Joomla Expert
mrknu na to, ale v jakém php souboru jsi ten kód měl?
neviděl jsem druhou zprávu, už chápu
neviděl jsem druhou zprávu, už chápu
13. lis 2018 14:09 - 13. lis 2018 14:22 #137643
Odpověď od Ernst
Joomla Expert
tak je to následně:
V novější verzi VM už není objekt $data, proto je třeba nahradit $data->billTotal proměnnou $this->cart->cartPrices[billTotal]
kód tedy bude:
Tento kód je ale možné vložit to košíku, ne k detailu produktu.
Tuto možnost jsem nikde nenašel, opravdu jste tento kód měl v detailu produktu?
V novější verzi VM už není objekt $data, proto je třeba nahradit $data->billTotal proměnnou $this->cart->cartPrices[billTotal]
kód tedy bude:
Code:
<div class="motivator" style="padding: 10px;position: absolute;width: 350px;right: 150px;bottom: -3px;padding: 10px;color: #e8102c;text-align: right;text-transform: none;">
<?php if ($this->cart->cartPrices[billTotal] = 0) { ?>
<span style="animation: blinker 2s linear infinite;">Při objednávce nad 5000,- je doprava zdarma!</span>
<?php } elseif ($this->cart->cartPrices[billTotal] < 5000) { ?>
<span style="animation: blinker 2s linear infinite;">Chcete dopravu zdarma? Přidejte ještě zboží za: <?php echo (5000 - ($this->cart->cartPrices[billTotal])) ?>,-</span>
<?php } else { ?>
<span style="font-weight: 700; color: #109d16;">Vaše objednávka bude dopravena zdarma!</span>
<?php } ?>
</div>
Tento kód je ale možné vložit to košíku, ne k detailu produktu.
Tuto možnost jsem nikde nenašel, opravdu jste tento kód měl v detailu produktu?
13. lis 2018 14:22 #137644
MiniJoomla! - www.minijoomla.org - 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
Odpověď od Rudolf
Joomla Expert
Na detailu produktu si určitě nevoláte model order, který voláte v košíku ))))
Takže bych tipnul, že se tam musí vložit něco trochu jiného.
Můžete tedy hackovat nebo použít modul Free Shipping Info, který tohle kompletně řeší.
Takže bych tipnul, že se tam musí vložit něco trochu jiného.
Můžete tedy hackovat nebo použít modul Free Shipping Info, který tohle kompletně řeší.
MiniJoomla! - www.minijoomla.org - 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
13. lis 2018 14:53 #137647
Odpověď od Ernst
Joomla Expert
ještě jsem se na to díval a ten kód:
můžete použít v modulu košíku (v přepsání modulu)
to o čem píšu já výše, je košík v komponentě
Code:
<div class="motivator" style="padding: 10px;position: absolute;width: 350px;right: 150px;bottom: -3px;padding: 10px;color: #e8102c;text-align: right;text-transform: none;">
<?php if ($data->billTotal == 0) { ?>
<span style="animation: blinker 2s linear infinite;">Při objednávce nad 5000,- je doprava zdarma!</span>
<?php } elseif ($data->billTotal < 5000) { ?>
<span style="animation: blinker 2s linear infinite;">Chcete dopravu zdarma? Přidejte ještě zboží za: <?php echo (5000 - ($data->billTotal)) ?>,-</span>
<?php } else { ?>
<span style="font-weight: 700; color: #109d16;">Vaše objednávka bude dopravena zdarma!</span>
<?php } ?>
</div>
můžete použít v modulu košíku (v přepsání modulu)
to o čem píšu já výše, je košík v komponentě