Php 在Typo3 7.6中创建前端插件

Php 在Typo3 7.6中创建前端插件,php,plugins,typo3,fluid,typo3-7.6.x,Php,Plugins,Typo3,Fluid,Typo3 7.6.x,我知道有多个线程有类似的问题,但我希望有人能给我一个单独的解决方案 因此,我正在进行一个现有的Typo3 7.6.23项目,已经有多个插件在运行,我试图复制我能找到的每个实例来复制一个插件并定制它以供我使用。那没用。我在下拉列表中看不到插件 然后我试着按照这个步骤来做 (1) 寄存器插件 \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( $_EXTKEY, 'DocumentService', 'Do

我知道有多个线程有类似的问题,但我希望有人能给我一个单独的解决方案

因此,我正在进行一个现有的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' => '',
      )
);
我应该能够在后端下拉列表中选择插件。但是它并没有出现在我需要它的内容元素的插件列表中

我甚至在正确的文件夹中创建了一个模板,并在控制器中为其创建了一个操作


我被困在这里,希望尽快听到解决方案。

您正在写一篇关于服务的文章。。。。如果扩展只是一个typo3服务,您将无法在后端选择它作为扩展。。。 看看“ext_localconf…” 是否有\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addService(。。。
那么扩展可能只是一项服务。

这是Aimeos Webshop的一个工作示例。请注意,您必须更改插件的名称,您不应使用
TYPO3.
Aimeos.
作为插件名称,而应选择您自己的名称

configurePlugin
example from,为前端配置插件:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'Aimeos.' . $_EXTKEY,
    'locale-select',
    array( 'Locale' => 'select' ),
    array( 'Locale' => 'select' )
);
registerPlugin
示例,这显示了后端的插件:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    'Aimeos.' . $_EXTKEY,
    'locale-select',
    'Aimeos Shop - Locale selector'
);
这是行动的切入点

扩展生成器可以帮助您设置新的TYPO3扩展,也可用于TYPO3 v7.6,请参见


最后,这里是关于为TYPO3 v7.6编写扩展的文档。

您是否清除了BE或Install Tool中的所有缓存?是的,所有缓存都已清除。在后端以及在项目本身中手动清除。您的扩展已激活?这两个代码段放在何处?因为您引用的是一个不适用于您的版本的docu页面。顺便说一句,你至少应该更新到7.6.32,看看你配置插件和注册插件的第一个参数。为什么你要使用“TYPO3”后跟点和扩展名?应该是供应商后跟点,后跟“扩展名”(这是CamelCase中的扩展名_键,表示它以大写字母开头,“_”替换为下一个大写字母),请参阅它应该与用于名称空间的名称相同(点除外)。@kweselski提供了此帮助吗?不,不幸的是没有。它没有显示在后端下拉列表中。。