Prestashop - 模块 - 在每个页面加载时加载

Prestashop - module - Load on each pageload

我正在开发一个 prestashop 模块

该模块的目标是当加载前台页面时,运行 mysql 查询。 查询开始同步所有产品的数量。 因此它们与外部库存管理系统的数量相匹配。

代码已经写好了,我只是在每次加载页面时在 prestashop 中搜索正确的执行方式。

我试过用

public function hookExtraLeft($params) {

但这只会在您位于产品页面而非产品概览时执行 mysql 查询。

此时查看 prestashop 文档对我没有帮助。 (http://doc.prestashop.com/display/PS16/Creating+a+first+module)

对每个页面视图都进行查询是一个非常糟糕的主意。您应该定期执行此操作,而不是在每个视图上执行此操作。

转到 classes/Hook.php @ Line 401 (PS 1.6.0.11) 并添加此行(仅在开发时):

error_log($hook_name);

这将在您打开 page/perform action/use ajax/etc 时列出所有挂钩。希望你能在这里找到合适的钩子,有在每次页面视图上执行的钩子。

@gskema 谢谢你给我指明了正确的方向。 另外我想说的是,我知道在每个页面视图上 运行 我的查询并不是一个好主意。我正计划添加一个计时器,这样当访问者访问页面时,它只会 运行 每 30 分钟查询一次。

使用挂钩页脚可以 运行 sql 查询以更新我的库存数量

public function hookFooter($params)