Почему не загружается это расширение pibase?

я обновляю проект с 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 (), но они никогда не срабатывают.


person netzding    schedule 15.05.2019    source источник
comment
Где в вашей структуре TypoScript?   -  person Thomas Löffler    schedule 16.05.2019
comment
@ ThomasLöffler нет конкретного TypoScript в структуре плагинов / расширений - у нас есть куча в fileadmin / templates / ts   -  person netzding    schedule 16.05.2019
comment
Плагин вызывается через TypoScript. Когда он не вызывается, он не работает.   -  person Thomas Löffler    schedule 16.05.2019
comment
Так ли это, если я уже могу выбрать его в качестве типа содержимого для страницы? я думаю, мне нужно дважды проверить опечатку?   -  person netzding    schedule 16.05.2019
comment
@ ThomasLöffler doesent, которые работают с методом :: addPItoST43 внутри ext_localconf?   -  person netzding    schedule 16.05.2019
comment
Две команды addPItoST43 должны быть разными и не использовать _pi1. Второй должен использовать _pi2. Файл 'class.tx_myextension_pi1.php' дублируется! И он должен соответствовать командному файлу addPItoST43 'class.tx_rxextkey_pi2.php'.   -  person Franz Holzinger    schedule 27.12.2019


Ответы (1)


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

\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

person G-Agnes    schedule 16.05.2019
comment
Я почти уверен, что начиная с 6.x это должно быть в файле tt_content.php внутри каталогов TCA Override - person netzding; 16.05.2019
comment
Возможно, вам стоит использовать \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin()' in Configuration / TCA / Overrides / tt_content.php` вместо addPlugin. docs.typo3.org/typo3cms/ExtbaseFluidBook/ 4-FirstExtension / - person G-Agnes; 16.05.2019
comment
в данный момент занимается другой задачей - я попробую это позже в тот же день - спасибо за вклад - person netzding; 17.05.2019