我试图从模块中传递我自己的变量到模板文件.tpl中。
我有这样的代码,用于在eshop中显示可用性。产品.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);
我的问题是,如果有什么方法可以 直接从主题tpl访问我的smarty变量。? 我需要用该变量设置另一个{if else},但无法访问它。
当我将变量添加到自定义钩子时,我也无法访问它。也许我不知道怎么做。我试着 创建前控制器 但什么都没有发生。
类似于...
{if isset($product.available_date) && $mymodule.is_in_stock = 1 && $product.available_date != '0000-00-00'}
你可以在.tpl文件中的任何地方访问你的模块的功能,方法是
{YourModule::yourFunction()}。
并设定如果喜欢
{if YourModule::yourFunction() !=1}Hello{if}。