Latte makro control – přidat podmínku
- rerege
- Člen | 58
Mám begginer dotaz. Hledal jsem, ale neumím to asi správně pojmenovat.
Mám v šabloně jednoduché makro
{control price:discountPercent, $cart->price, $settings}
které vyrenderuje text např. –7%
potřebuji přidat do šablony podmínku, pokud je sleva 0%, tak aby se nic
nerenderovalo.
Prostě nějaký return z makra do šablony, na který bych v šabloně
navěsil podmínku.
- Pavel Kravčík
- Člen | 1196
To je komponenta
, a stačí v ní nastavit, aby nic
nevypisovala. Případně sem hoď její kód.
- rerege
- Člen | 58
To by teoreticky šlo, ale já ještě v šabloně pod text peru malý
obrázek.
takže jedině, že by ten obrázek se „tlačil“ v discountPercent.latte,
je to tak?¨
public function renderDiscountPercent($cartPrice, $settings = null) {
$percent = 0;
$price = ($settings && $settings->vat_payer) ? $cartPrice * (1 + ($settings->vat / 100)) : $cartPrice;
switch (true) {
case $price > (float) 200 AND $price <= (float) 400: $percent = 7;
break;
case $price > (float) 400 AND $price <= (float) 1000: $percent = 9;
break;
case $price > (float) 1000 AND $price <= (float) 3000: $percent = 12;
break;
case $price > (float) 3000: $percent = 15;
break;
}
$this->template->setFile(dirname(__FILE__) . self::TEMPLATE_PATH . 'discountPercent.latte'); // Nastaví šablonu komponenty.
$this->template->discountPercent = $percent; // Předává parameter do šablony.
$this->template->render(); // Vykreslí komponentu.
}
a discountPercent.latte
-{$discountPercent}%
- Pavel Kravčík
- Člen | 1196
Tak teď už na to přijdeš sám, ne? :) Tu podmínku si dej do toho správného latte.
- Pavel Kravčík
- Člen | 1196
Výpis v hlavním latte bych obalil do nějakého kontejneru. Třeba takhle a pak už to kóder/ty snadno nastyluje i bez slevy.
<div id="product-discount">
{control price:discountPercent, $cart->price, $settings}
</div>
Editoval Pavel Kravčík (31. 5. 2017 10:59)