prestashop中的tpl文件中的调用模块
问题描述:
我想在我的header.tpl
文件中使用搜索模块。 在我用这个代码prestashop中的tpl文件中的调用模块
{include file='./modules/blocksearch/blocksearch.tpl'}
但它不工作,并通过使用此代码我的网页变得空白。提前
答
你不能在这样的模块模板
感谢,因为TE模块的PHP代码不被调用和模板需要它来设置一些Smarty的变量。
您可以做的最好的方法是将blocksearch模块挂接到您的标题。在这里,我们去:
- 导航到“管理员>模块>的位置”
- 点击“移植模块”按钮
- 选择“快速搜索框”的“模块”
- 选择“”头页/ displayHeader”为‘钩到’
- 点击‘保存’
‘快速搜索模块’现在迷上你的头。
答
在这里你会发现你在找什么 http://www.ecartservice.net/prestashop-articles/1-4-plugins-revisited-part-1/
这是一个伟大的,简单的方法来直接调用模板文件中的模块,而无需使用钩子。我在Prestashop 1.4和1.5中都测试过它,它可以工作。
的Prestashop 1.5,则需要在 “覆盖” 文件夹中创建2个额外的文件,在上面的链接描述:
- Plugin.php IN /覆写/班/
- FrontController。 PHP中/清除/班/控制器/
然后,你就可以在模板中使用的文件,下面的代码:
{plugin module='editorial' hook='displayHome'}
您需要使用挂钩名称(displayHome)而不是别名(home)。
...然后如果你想在tpl中显式地显示钩子somwhere,你可以使用a)由控制器分配的smarty赋值变量,或者仅仅是b)'{hook h =“HOOK_NAME”}'。 '{hook h =“displayTopColumn”}' –