Почему это расширение pibase не загружается? - PullRequest
0 голосов
/ 15 мая 2019

Я обновляю проект из TYPO3

  • 6.x до 7.x
  • 7x до 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-whole-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 теперь пуст, потому что все находящееся там содержимое перемещено в конфигурацию / часть

части, которые я переместил в tt_content.php внутри каталога Configuration /, содержат 2 переопределения TCA с $ GLOBALS ['TCA'] ['tt_content'] ['types'] и $ GLOBALS ['TCA'] ['tt_content' ] ['колонки'], за которыми следуют 3 вызова addPlugin также из ExtensionManagementUtility

так что со всем этим сделано, я все еще не могу включить плагин в корневую страницу, чтобы получить реальную функциональность - я понятия не имею, как продолжить процесс, чтобы заставить это работать - любая помощь очень ценится, если какая-либо дополнительная информация или код необходимо просто оставить комментарий

дальнейшее расследование: поэтому я отлаживал, как и все части расширения, и часть для бэкэнда, кажется, работает нормально, я вижу содержимое плагина и могу выбирать части из базы данных для теоретического отображения в веб-интерфейсе. единственное, что TYPO3 никогда не входит в мой класс tx_extkey_pi1 для фактического заполнения шаблона содержимым - у меня есть var_dumps () с exit () в main () и renderTemplate (), но они никогда не запускаются.

1 Ответ

0 голосов
/ 16 мая 2019

Я думаю, что эта часть

\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'
    );

принадлежит ext_tables.php

...