Это больше похоже на основной вопрос:TYPO3: Расширение для запуска PHP кода
Как получить расширение (с помощью Extension Builder), чтобы запустить простой PHP код без добавления модели предметной области и действия?
Это больше похоже на основной вопрос:TYPO3: Расширение для запуска PHP кода
Как получить расширение (с помощью Extension Builder), чтобы запустить простой PHP код без добавления модели предметной области и действия?
В общем, есть 3 варианта:
Я все равно поеду с номером варианта 3, и поэтому вам все равно понадобится действие. Если действия хороши из-за того, что вы добавили второй вариант, вы можете просто использовать второе действие, и вам не нужно много дополнительного кода.
Наличие такого расширения довольно просто. Одним из примеров я сделал в последнее время было это расширение: https://github.com/sup7even/mailchimp
В общем вам нужно:
ext_localconf.php
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'Sup7even.' . $_EXTKEY,
'Registration',
array(
'Form' => 'index,response,ajaxResponse'
),
array(
'Form' => 'index,response,ajaxResponse'
)
);
ext_tables.php
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'Sup7.' . $_EXTKEY,
'Registration',
'Mailchimp'
);
И RegistrationController. По умолчанию будет вызываться первое действие, которое в данном случае индекс, поэтому вам нужно indexAction
, а шаблон должен быть Templates/Registration/Index.html
.
@ViktorLivakivskyi Эта версия выглядит многообещающей, но я до сих пор не знаю, как включить вывод в мой шаблон. При добавлении шаблона html по умолчанию для моего расширения он запрашивает контроллер по умолчанию, которого нет и не должен существовать. – Norman
Ну, вы можете попробовать использовать 'StandaloneView', просто создать его,' -> setTemplateRootPaths (...) ', а затем вернуть результат' -> render() ', но было бы более удобно, если вы создадите нормальный контроллер Extbase и получить много волшебства из коробки. –