я обновляю проект с TYPO3
- 6.x to 7.x
- 7.x to 8.7
Я уже на 8.7 и сейчас работаю над расширениями. у нас есть расширение pibase, поддержка которого должна быть доступна в 8.7
я уже отрефакторировал несколько вещей:
- я заменил старые классы новыми пространствами имен на основе ClassAliasMap.php
- Я адаптировал новый подход TCA с помощью Configuration / TCA / Overrides
- изменено с $ TCA на $ GLOBALS ['TCA']
другая задача - переработать шаблоны с css_styled_content на fluid_styled_content. но я не прав, потому что я застрял, чтобы плагин был доступен в Template> RootPage> Info / Modify> Edit-all-template> Includes. его просто нет в списке "доступных предметов".
Я думал, что есть 2 шага, чтобы сделать это
зарегистрируйте плагин для рендеринга внешнего интерфейса с помощью
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, 'pi1/class.tx_rxextkey_pi1.php', '_pi1', 'list_type', FALSE);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, 'pi2/class.tx_rxextkey_pi2.php', '_pi1', 'list_type', FALSE);
и сделайте плагин доступным для выбора в серверной части с помощью
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(
array('LLL:EXT:rx_extkey/Resources/Private/Language/locallang_db.xml:tt_content.list_type_pi1',
'rx_extkey_pi1',
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('rx_extkey') . 'ext_icon.png'
),
'list_type',
'rx_extkey'
);
Вот как в целом структурировано расширение / плагин:
myextension
- configuration/
- TCA/
- Overrides/
tt_content.php
- doc/
wizard_form.dat
wizard_form.html
- eId/
classX.php
classO.php
classL.php
- pi1/
class.tx_myextension_pi1.php
flexform_ds.xml
locallang.xml
- pi2/
class.tx_myextension_pi1.php
flexform_ds.xml
locallang.xml
- res/
something.html
somethingelse.html
ext_emconf.php
ext_icon.gif
ext_localconf.php
ext_tables.php
locallang_db.xml
поэтому внутри ext_localconf я вызываю addPItoST43 из ExtensionManagementUtility, чтобы фактически добавить файлы классов
emconf - это просто "по умолчанию", так сказать, и описание плагина
файл ext_tables.php теперь пуст, потому что все содержимое оттуда перемещено в Configuration / part
части, которые я переместил в tt_content.php внутри каталога Configuration /, содержат 2 переопределения TCA с $ GLOBALS ['TCA'] ['tt_content'] ['types'] и $ GLOBALS ['TCA'] ['tt_content'] [' columns '], за которым следуют 3 вызова addPlugin также из ExtensionManagementUtility
поэтому, когда все это сделано, я все еще не могу включить плагин в корневую страницу, чтобы получить фактическую функциональность - я понятия не имею, как продолжить процесс, чтобы заставить это работать - любая помощь очень приветствуется, если требуется дополнительная информация или код, просто оставить комментарий
дальнейшее расследование: поэтому я отладил каждую часть расширения, и часть для серверной части, похоже, работает нормально, я вижу содержимое плагина и могу выбирать части из базы данных для теоретического отображения в внешний интерфейс. единственное, что TYPO3 никогда не входит в мой класс tx_extkey_pi1, чтобы фактически заполнить шаблон содержимым - у меня есть var_dumps () с exit () как в main (), так и в renderTemplate (), но они никогда не срабатывают.