我正在构建一个视频模块,它将URL与标题相关联(它尽可能简单),但我需要它来强制执行“默认”行为,其中在任何给定时间只有一个项可能处于活动状态。 Prestashop的悲惨文件将是我的死...
可以找到这个小型努力的代码here(在我正在努力解决的另一个问题上)。
我的想法是在后台管理视频控制器内的postProcess函数中运行SQL查询。在这里 - 以及插入/更新之后 - 我将触发一个SQL查询,该查询将所有其他行的“活动”列的值设置为0.
我的问题是这个函数 - postProcess() - 一次又一次地被调用(包括需要列出视频的时候),并且每次都无法运行查询。
我一整天都在努力解决这个问题,不知道下一步该做什么。
我做错了什么?
我是否可以重载另一种方法,以便在每次更新/创建行时轻松触发SQL查询?
对于1.5版本,这个主题是否有任何体面的书籍?花更多的时间在SO上寻找能够做一些实际工作的答案真的很令人沮丧。
谢谢,我真的很感激
答案 0 :(得分:1)
您必须检查_postProcess函数中的提交按钮
例如,在modules/bankwire/bankwire.php
脚本中查看bankwire模块的_postProcess函数:
private function _postProcess() {
if (Tools::isSubmit('btnSubmit')) {
Configuration::updateValue('BANK_WIRE_DETAILS', Tools::getValue('details'));
...
}
}