TYPO3 выполняет действие только один раз, когда на странице несколько одинаковых плагинов.

Я хочу, чтобы редакторы могли вставлять плагин несколько раз на страницу.

Под каждым элементом записи на главной странице есть f:link.actions полезные/неполезные, которые могут отображать форму комментария.

?tx_bla[question]=2&tx_bla[helpful]=0&tx_bla[action]=helpfulness&tx_bla[controller]=Question

Если дважды вставить плагин на страницу и щелкнуть ссылку выше, действие будет запущено дважды и покажет 2 формы.

Как настроить выполнение действий только для текущего плагина?


person Jack70    schedule 11.02.2018    source источник


Ответы (2)


Я решил это, получив в списке действий текущий uid плагина

$cObj = $this->configurationManager->getContentObject();
$currentUid = $cObj->data['uid'];

назначьте его представлению и отправьте в качестве аргумента действию. Там сравните 2 uid.

person Jack70    schedule 12.02.2018

Каждый плагин слушает свой параметр GET, поэтому два одинаковых плагина делают одно и то же.

Либо вы изменяете один плагин, чтобы он не реагировал на параметр GET, либо добавляете параметр GET, чтобы указать плагин, который должен его обрабатывать.

person Thomas Löffler    schedule 12.02.2018
comment
ОК, спасибо, я надеялся, что для этого будет основное решение. - person Jack70; 12.02.2018