php - 在 Typo3 7.6 中创建前端插件
问题描述
我知道有多个线程有类似的问题,但我希望有人能给我一个单独的解决方案。
因此,我正在开发一个已经运行多个插件的现有 Typo3 7.6.23 项目,我尝试复制我能找到的每个实例来复制插件并对其进行自定义以供我使用。那没有用。我在下拉列表中看不到插件。
然后我尝试按照此链接中的步骤进行操作。
(1) 注册插件
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
$_EXTKEY,
'DocumentService',
'DokumentenService'
);
(2) 配置插件
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'TYPO3.' . $_EXTKEY, 'DocumentService', array(
'Example' => 'showDocumentService',
),
// non-cacheable actions
array(
'Example' => '',
)
);
我应该能够在后端下拉列表中选择插件。但它只是没有出现在我需要它的内容元素的插件列表中。
我什至在正确的文件夹中创建了一个模板,并在控制器中为它创建了一个动作..
我被困在这里,很想尽快听到解决方案。
解决方案
这是来自 Aimeos Webshop 的工作示例。请注意,您必须更改插件的名称,您不应使用TYPO3.
或Aimeos.
为插件名称选择您自己的名称。
configurePlugin
来自https://github.com/aimeos/aimeos-typo3/blob/2018.04/ext_localconf.php#L27的示例,这将为前端配置您的插件:
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'Aimeos.' . $_EXTKEY,
'locale-select',
array( 'Locale' => 'select' ),
array( 'Locale' => 'select' )
);
registerPlugin
例如https://github.com/aimeos/aimeos-typo3/blob/2018.04/ext_tables.php#L60,这在后端显示了您的插件:
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'Aimeos.' . $_EXTKEY,
'locale-select',
'Aimeos Shop - Locale selector'
);
这是操作的入口点https://github.com/aimeos/aimeos-typo3/blob/2018.04/Classes/Controller/LocaleController.php#L27
Extension Builder 可以帮助您设置新的 TYPO3 扩展,并且也可用于 TYPO3 v7.6,请参阅https://extensions.typo3.org/extension/extension_builder/。
最后是关于为 TYPO3 v7.6 编写扩展的文档https://docs.typo3.org/m/typo3/reference-coreapi/7.6/en-us/ExtensionArchitecture/Index.html。
推荐阅读
- php - 如何将值传递给 add_action() 闭包?
- angular - Angular 清理 html 但保留内联样式
- tensorflow - 问题:将 TPU 与 OpenNMT-tf 一起使用
- javascript - 操作 api 以显示来自单击元素的数据
- python - 如何在 python 中使用 matlibplot 在子图上绘制矩形?
- vb.net - 取消后刷新表格
- python - 是否可以在不使用 string.split 的情况下获取字符串行中的最后一个标记?
- c# - 在 ASP.NET MVC 中使用复选框和国家/地区列表时如何保存值?
- sql - SQL Server 中的日期格式
- javascript - 如何将逗号分隔的文本字段转换为单独的行