2

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

  1. 处理表格(我知道我可以做 throw Tools::getValue('name_of_variable'))

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

或者我需要包含哪些文件才能使用 DB 和 smarty 界面,我可以这样做抛出原始 PHP 代码。

请帮助我,因为我已经坚持了大约两个星期。

谢谢

4

1 回答 1

0

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

  • 创建一个模块
  • 在 install() 方法中,调用 $this->registerHook('actionSearch');
  • 在函数 hookActionSearch() 中,实现你的代码
  • 如果你想给 smarty 赋值,使用全局作用域和 Context::getContext()->smarty->assign()
  • 如果你想在 Smarty 中使用这些变量,那么这取决于你想在哪里显示东西......

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

于 2013-08-21T07:36:50.480 回答