Как создать страницу настроек внутреннего модуля TYPO3? - PullRequest
1 голос
/ 29 сентября 2019

У меня есть TYPO3 версии 9.5.9 и добавлен бэкэнд-модуль с помощью следующей функции:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
    'CBWebdesign.' . $_EXTKEY,
    'tools', // Make module a submodule of 'admin'
    'tools', // Submodule key
    'top', // Position
    array(
        'Settings' => 'main',
    ),
    array(
        'access' => 'admin',
        'icon' => 'EXT:' . $_EXTKEY . '/Resources/Public/icons/template/tx_ext_cbwebdesigntemplate.gif',
        'labels' => 'LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang_cbwebdesigntemplate.xlf',
    )
);

Новый бэкэнд-модуль появляется в меню под ADMINИНСТРУМЕНТЫ .Но что мне нужно сделать в качестве следующего шага, чтобы увидеть страницу с полями настроек для моего модуля?Также мне нужно сохранить их и использовать на внешней стороне.

Извините, я должен указать свой вариант использования.Мне нужно реализовать мою страницу настроек.Я имею в виду, я добавил пункт меню в меню.Но как лучше всего реализовать там настройки?Точнее, я хочу показать там свою конфигурацию расширения из файла ext_conf_template, а также возможность изменить настройки там.

1 Ответ

0 голосов
/ 29 сентября 2019

Вы должны реализовать контроллер с именем Settings и в классе PHP метод с именем mainAction().Давайте предположим, что ваш ключ расширения читает my_example, тогда пространство имен PHP должно быть:

  • CBWebdesign\MyExample\Controller\Settings

... и файл / путь к файлу контроллерав вашем расширении написано:

  • Classes/Controller/Settings.php

Вы также должны реализовать представление (например, используя Fluid ).Файл шаблона для контроллера «Настройки» и действия «Основной» должен находиться по адресу:

  • Classes/Resources/Private/Templates/Settings/Main.html

Предлагаю ознакомиться с исходным кодом существующегосистемные расширения, которые поставляются с TYPO3 (например, Extension Manager, расположенный по адресу typo3/sysext/extensionmanager/).Все они следуют этой парадигме.

...