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)
我正在开发一个 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)