我正在从 TYPO3 更新项目
我已经使用 8.7,现在正在开发扩展。我们有一个 pibase 扩展,在 8.7 中应该仍然提供支持。
我已经重构了一些东西:
另一项任务是将模板从
css_styled_content
修改为 fluid_styled_content
。但我不在那里,因为我一直在努力让插件在 Template>RootPage>Info/Modify>Edit-whole-template>Includes
中可用。它只是不在“可用项目”列表中。
我认为有两个步骤可以完成此任务。
注册前端渲染插件
\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/ 目录中的
tt_content.php
的部分包含 2 个 TCA 覆盖,其中 $GLOBALS['TCA']['tt_content']['types'] 和 $GLOBALS['TCA']['tt_content'][ 'columns'] 后跟同样来自 ExtensionManagementUtility 的 3 个 addPlugin 调用
因此,完成所有这些后,我仍然无法在根页面中包含该插件来获取实际功能 - 我不知道如何进一步处理以使其发挥作用 - 如果有任何进一步的信息或代码,我们将非常感谢您的帮助有需要就评论吧。
进一步调查: 所以我已经调试了扩展的每个部分,后端的部分似乎工作得很好,我看到了插件内容,并且可以从数据库中选择部分,理论上显示在前端。
唯一的事情是 TYPO3 从未进入我的班级
tx_extkey_pi1
来实际用内容填充模板 - 我在 var_dumps()
和 exit()
中都有 main()
和 renderTemplate()
但它们从未被触发。
我想这部分
\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