Переменная настраиваемого модуля Prestashop передана в файл .tpl темы - PullRequest
1 голос
/ 05 мая 2020

Я пытаюсь передать свою переменную из модуля в файл шаблона .tpl

У меня есть этот код, который используется для отображения доступности в интернет-магазине. Product.tpl

                            {if $product.availability == 'available'}
                                {if $product.quantity <= 0  && $product.allow_oosp}
                                    {if isset($product.available_date) && $product.available_date != '0000-00-00'}
                                        <i class="fa fa-truck rtl-no-flip" aria-hidden="true"></i>
                                        {$product.availability_message} 
                                        ({if $product.available_date|strtotime > $smarty.now}<span class="available-date">{l s='naskladnění' d='Shop.Theme.Catalog'} {$product.available_date|date_format:"%d.%m.%Y"}</span>{/if})
                                    {/if}
{/if}{/if}

Тогда у меня есть собственный модуль, в котором я присваиваю значение smarty Mymodule. php

    $in_stock = 1;
    $this->context->smarty->assign("is_in_stock", $in_stock);

Мой вопрос: есть ли способ получить доступ к моей переменной smarty непосредственно из темы tpl ? Мне нужно настроить другую переменную {if else} с этой переменной, но я не могу получить к ней доступ.

Когда я добавляю переменную в настраиваемую ловушку, я тоже не могу получить к ней доступ .. Или, может быть, я не знаю как. Я пытался создать передний контроллер , но ничего не вышло.

Что-то вроде

{if isset($product.available_date) && $mymodule.is_in_stock = 1 && $product.available_date != '0000-00-00'}

1 Ответ

0 голосов
/ 05 мая 2020

Вы можете получить доступ к функциям вашего модуля где угодно в файлах .tpl, набрав

{YourModule :: yourFunction ()}

и установите, если хотите,

{если YourModule: : yourFunction ()! = 1} Здравствуйте {/ if}

...