Конечно, это возможно. Вам необходимо использовать FlexForms, которые в основном основаны на XML-поле в вашей записи tt_content. Таким образом, вы можете настроить свой плагин непосредственно для вашей записи контента. Обычно используется для установки предела для записей, сортировки и т. Д., Но также и для установки любой разрешенной комбинации «контроллер -> действие», где первая - по умолчанию. Просто взгляните на некоторые хорошо известные расширения, как они его используют.
Вот небольшая абстрактная часть релевантной части FlexForm:
<switchableControllerActions>
<TCEforms>
<label>LLL:EXT:ra_registration/Resources/Private/Language/locallang_be.xml:flexforms_general.mode</label>
<config>
<type>select</type>
<items>
<numIndex index="0">
<numIndex index="0">LLL:EXT:ra_registration/Resources/Private/Language/locallang_be.xml:flexforms_general.mode.registration_index</numIndex>
<numIndex index="1">Registration->index;Registration->register;User->new;User->create;User->confirm;User->index;User->remind</numIndex>
</numIndex>
<numIndex index="1">
<numIndex index="0">LLL:EXT:ra_registration/Resources/Private/Language/locallang_be.xml:flexforms_general.mode.registration_reminder</numIndex>
<numIndex index="1">User->index;User->remind;User->remindConfirm</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</switchableControllerActions>
Как уже говорилось, вы можете определить любую комбинацию контроллер / действие, такую как
MyProduct-> индекс
или же
MyCustomer-> список
и т.д.
Чтобы использовать FlexForm, вам необходимо зарегистрировать его в ext_tables.php
$TCA['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue('myextenion_pi1', 'FILE:EXT:' . $_EXTKEY . '/Configuration/FlexForms/setup.xml');