为什么不加载此pibase扩展?

时间:2019-05-15 13:17:47

标签: typo3 typo3-7.6.x typo3-8.x typo3-extensions pibase

我正在从TYPO3更新项目

  • 6.x至7.x
  • 7.x至8.7

im已经在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内部,我从ExtensionManagementUtility调用addPItoST43以实际添加类文件

emconf只是“默认”,可以这么说并描述插件

文件ext_tables.php现在为空,因为其中的所有内容都移到了Configuration /部分

我移至Configuration /目录内的tt_content.php的部分包含两个带有$ GLOBALS ['TCA'] ['tt_content'] ['types']和$ GLOBALS ['TCA'] ['tt_content' ] ['columns']后跟3个addPlugin调用,同样来自ExtensionManagementUtility

完成所有这些操作后,我仍然无法在根页面中包含该插件以获取实际功能-我不知道如何进一步处理该功能-如有任何其他信息或代码,我们将不胜感激需要只是发表评论

进一步调查: 因此,我已经像扩展程序的每个部分一样进行了调试,后端的部分似乎工作正常,我看到了插件的内容,可以从数据库中选择片段,以理论上显示在前端。唯一的事情是TYPO3永远不会进入类tx_extkey_pi1来真正用内容填充模板-我在main()和renderTemplate()中都有var_dumps()和exit(),但是它们从未触发过。

1 个答案:

答案 0 :(得分:0)

我认为这部分

\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