0

我是 PRESTASHOP/SMARTY 环境的新手,但我需要支持一些遇到麻烦的朋友。在浪费了几个小时后,我决定问你。

是否有任何特殊或标准程序可以访问 PRESTASHOP 类 (/classes),即来自 SMARTY 默认模板的 Product.php?在这个环境中有任何范围问题吗?

我发现我需要使用 $smarty.const 来访问 prestashop 常量......但没有任何线索可以访问已经定义的类。

我知道我们不应该从模板视图中执行此类功能。但它是遗留代码。有攻略吗?

先感谢您。

4

2 回答 2

2

我建议你关注调用 smarty 模板的控制器或模块。在那里,您可以使用类来获取所需的信息,然后将其$this->context->smarty->assign()作为自变量传递给数组中的 smarty:

$this->context->smarty->assign(array(
       'category' => $this->category,
        //OTHER VARIABLES
       'ancestors' => $ancestors
)

或通过修改现有的:

$this->category['ancestors'] = $ancestors;
$this->context->smarty->assign(array(
       'category' => $this->category,
        //OTHER VARIABLES
)
于 2014-04-30T10:43:12.387 回答
-1

你可以在 smarty 中直接访问类的静态方法和字段,比如

<a href="{Tools::getShopDomain()}"> {Tools::$round_mode} </a>

上面是一个非常粗略的例子,只是展示了如何去做。

于 2015-12-18T12:42:14.240 回答