在prestashop中的tpl文件中调用Module

时间:2013-01-22 12:58:29

标签: php html smarty prestashop

我想在我的header.tpl文件中使用搜索模块。 在那我用这个代码

{include file='./modules/blocksearch/blocksearch.tpl'}

但它不起作用,使用此代码我的页面会变空。

提前致谢

2 个答案:

答案 0 :(得分:4)

在这里,您将找到所需内容 http://www.ecartservice.net/prestashop-articles/1-4-plugins-revisited-part-1/

这是一种直接在模板文件中调用模块的简单方法,无需使用钩子。我在Prestashop 1.4和1.5中测试了它并且它可以工作。

对于Prestashop 1.5,您需要在“override”文件夹中创建2个额外文件,如上面的链接所述:

  • / override / classes /
  • 中的Plugin.php
  • / override / classes / controller /
  • 中的FrontController.php

然后,您将能够在模板文件中使用以下代码:

{plugin module='editorial' hook='displayHome'}

您需要使用钩子的名称(displayHome)而不是别名(home)。

答案 1 :(得分:3)

你不能包含这样的模块模板,因为没有调用te模块的PHP代码,模板需要它来设置一些Smarty变量。

您可以做的最好的事情是将blocksearch模块挂钩到标头。我们走了:

  • 导航至“admin> modules> positions”
  • 点击“移植模块”按钮
  • 为“模块”选择“快速搜索块”
  • 为“Hook into”
  • 选择“”页眉/ displayHeader“
  • 点击“保存”

“快速搜索模块”现在已连接到您的标题。