Вызвать конкретное действие extbase для плагина

Я разрабатываю расширение TYPO3 Extbase, которое извлекает события из XML-API.
Расширение состоит из 1 контроллера и 2 действий.

Так что мой ext_localconf.php выглядит примерно так:

Tx_Extbase_Utility_Extension::configurePlugin($_EXTKEY, 'pi1', array(
'Api' => 'latest,full'
),
array(
'Api' => 'latest,full'
));

Содержание действий почти одинаковое, latest-Действие извлекает только 3 события из API, full-Действие извлекает все события из API. Кроме того, они отображают события немного по-другому, то есть используют разные шаблоны.

Теперь в TYPO3-Backend на Page AЯ добавляю новый контент с типом plugin, Я выбираю свой плагин и сохраняю контент. В интерфейсе результаты, полученные latest-Действие плагина выводятся.

Однако на Page BЯ также хочу использовать тот же плагин, но хочу вывести результаты full-Действие.

Я немного растерялся. Как я могу выбрать действие в раскрывающемся списке в бэкэнде или что-то?

Документация по TYPO3 действительно плохая и не содержит много информации, поэтому я ищу здесь помощь.

Все примеры, которые я нашел, имеют дело только с одним действием.

1

Решение

Вы должны создать flexform для плагина, или если ваш плагин имеет flexform сейчас, просто добавьте следующее.

Чтобы иметь возможность выбирать действия и контроллер в плагине, вам нужно использовать switchableControllerActions в гибкой форме.

<switchableControllerActions>
<TCEforms>
<label>View</label>
<onChange>reload</onChange>
<config>
<type>select</type>
<items type="array">
<numIndex index="1" type="array">
<numIndex index="0">Latest events</numIndex>
<numIndex index="1">Api->latest;</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">All events</numIndex>
<numIndex index="1">Api->full;</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</switchableControllerActions>

Если у вас нет flexform для расширения, создайте его в папке Configuration / Flexform. Проверьте эту ссылку. https://wiki.typo3.org/Extension_Development,_using_Flexforms

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]