Latte makro control – přidat podmínku

rerege
Člen | 58
+
0
-

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 | 1182
+
+2
-

To je komponenta, a stačí v ní nastavit, aby nic nevypisovala. Případně sem hoď její kód.

rerege
Člen | 58
+
+1
-

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 | 1182
+
+1
-

Tak teď už na to přijdeš sám, ne? :) Tu podmínku si dej do toho správného latte.

rerege
Člen | 58
+
+2
-

Teoreticky jo :o)
Jen jsem zvědav jak se popasuju s bootstrapem … text přes obrázek (tak aby mi neodskakoval o řádek níže) mě pěkně potrápil…

Pavle moc díky – dlužím ti kafe!
Váňa

Pavel Kravčík
Člen | 1182
+
0
-

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)

rerege
Člen | 58
+
0
-

Už mi to fakčí!
Ještě jednou díky

Váňa