模板Prestashop中控制器的触发功能

时间:2012-10-28 17:05:46

标签: function templates controller prestashop

如何从模板触发控制器中的特定功能。假设我有一个搜索模块,用户点击按钮搜索后我想执行一些操作(如果有任何错误,请告诉我)。

  1. 处理表单(我已经知道我可以抛出Tools :: getValue('name_of_variable'))

  2. 我需要评估并进行数据库搜索的表单。如果不在自定义函数中,我应该将代码放在哪里。但是如何确保这个确切的功能将会被打破。在自定义php文件中它很容易,因为主代码没有其他代码,每次调用该文件时都会重复调用。但在这里,我想简单地称之为一个函数。

  3. 或者我需要包含哪些文件来使用DB和smarty接口,我可以这样做抛出原始的PHP代码。

    请帮助我,因为我已经被困在这两周左右。

    谢谢

1 个答案:

答案 0 :(得分:0)

搜索有一个特定的钩子,名为“actionSearch”。

  • 创建模块
  • 在install()方法中,调用$ this-> registerHook('actionSearch');
  • 在函数hookActionSearch()中,实现你的代码
  • 如果你想为smarty分配一些东西,可以使用全局范围和Context :: getContext() - > smarty-> assign()
  • 如果你想在Smarty中使用这些变量,那么它取决于你想要展示的东西......

例如,模块StatsSearch实现了这个钩子。