Prestashop - 从视图中制作简码

Prestashop - make shortcode from view

我制作了一个呈现代码并将其挂接到产品页面的插件。我想让它更灵活,并在产品描述的特定位置挂钩该视图。

有没有办法让它成为短代码,这样我就可以把 [blablabla] 放在产品描述中并在特定视图中呈现它? (do_shortcode() 相当于 Wordpress)

到目前为止,我通过将其挂接到产品描述的末尾来呈现它。

public function hookDisplayProductTab() {
    return $this->display(__FILE__, 'maps.tpl');
}

问题是我不知道如何让它在 MVC 环境中工作。我只是简单地使用 Prestashop 中的挂钩来呈现代码。我不知道从哪里开始,也不知道可以使用什么类型的概念。

如果您希望更改每个调用 displayProductTab 挂钩的模块 html 的位置,请在 product.tpl 中查找 {$HOOK_PRODUCT_TAB} 并将其放在所需位置。

如果您想更改模块呈现的顺序 displayProductTab 然后转到后台菜单 Modules -> Positions 并搜索 productTab 位置。您将看到挂接到此位置的模块,您可以更改它们的显示顺序。

如果您想在特定位置调用模块的挂钩,可以像这样在模板中调用挂钩。

{hook h='displayProductTab' mod='yourmodulename'}

这会在模板中执行模块的 hookDisplayProductTab()。例如,如果你想执行每个模块的钩子,你删除 mod='yourmodulename' 部分。

{hook h='displayProductTab}

如果您希望在 hook 中使用某些参数,您可以指定它们。

{hook h='displayProductTab' mod='mymodulename' cur_page=$page_name}

并且您可以访问挂钩中的参数。

public function hookDisplayProductTab($params)
{
    $myParam = $params['cur_page'];
}