2016-08-17 2 views
1

Это больше похоже на основной вопрос:TYPO3: Расширение для запуска PHP кода

Как получить расширение (с помощью Extension Builder), чтобы запустить простой PHP код без добавления модели предметной области и действия?

+0

@ViktorLivakivskyi Эта версия выглядит многообещающей, но я до сих пор не знаю, как включить вывод в мой шаблон. При добавлении шаблона html по умолчанию для моего расширения он запрашивает контроллер по умолчанию, которого нет и не должен существовать. – Norman

+1

Ну, вы можете попробовать использовать 'StandaloneView', просто создать его,' -> setTemplateRootPaths (...) ', а затем вернуть результат' -> render() ', но было бы более удобно, если вы создадите нормальный контроллер Extbase и получить много волшебства из коробки. –

ответ

5

В общем, есть 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.