当页面上有多个相同的插件时,TYPO3 只执行一次操作
TYPO3 perform action only once when multiple same plugins on page
我希望编辑器能够在页面上多次插入插件。
在首页的每个记录项下,有f:link.actions helpful / not helpful,可以显示评论表。
?tx_bla[question]=2&tx_bla[helpful]=0&tx_bla[action]=helpfulness&tx_bla[controller]=Question
当在一个页面中插入插件两次并点击上面的link时,该动作将运行两次并显示2个表单。
如何为当前插件设置仅 运行 的操作?
每个插件都监听它的 GET 参数,这就是为什么两个相同的插件做同样的事情。
要么更改一个插件使其不对 GET 参数作出反应,要么添加一个 GET 参数来标识应该处理它的插件。
我通过在列表操作中获取插件的当前 uid 解决了这个问题
$cObj = $this->configurationManager->getContentObject();
$currentUid = $cObj->data['uid'];
将其分配给视图并作为参数发送给操作。比较2个uid。
我希望编辑器能够在页面上多次插入插件。
在首页的每个记录项下,有f:link.actions helpful / not helpful,可以显示评论表。
?tx_bla[question]=2&tx_bla[helpful]=0&tx_bla[action]=helpfulness&tx_bla[controller]=Question
当在一个页面中插入插件两次并点击上面的link时,该动作将运行两次并显示2个表单。
如何为当前插件设置仅 运行 的操作?
每个插件都监听它的 GET 参数,这就是为什么两个相同的插件做同样的事情。
要么更改一个插件使其不对 GET 参数作出反应,要么添加一个 GET 参数来标识应该处理它的插件。
我通过在列表操作中获取插件的当前 uid 解决了这个问题
$cObj = $this->configurationManager->getContentObject();
$currentUid = $cObj->data['uid'];
将其分配给视图并作为参数发送给操作。比较2个uid。