【问题标题】:Assign plugin in typoscript在打字稿中分配插件
【发布时间】:2013-11-28 17:55:22
【问题描述】:

我有一个插件http://typo3.org/extensions/repository/view/aw_consume

我将它用作它正在工作的内容元素

当我尝试在我的打字稿中分配一个子部分时,什么都没有显示

LOGOUT < plugin.tx_awconsume.widgets.menu

此插件是使用安装在 TYPO3 6.1.4 上的 extension_builder 扩展创建的

更新 3

plugin.tx_awconsume {
    view {
        templateRootPath = {$plugin.tx_awconsume.view.templateRootPath}
        partialRootPath = {$plugin.tx_awconsume.view.partialRootPath}
        layoutRootPath = {$plugin.tx_awconsume.view.layoutRootPath}
    }
    persistence {
        storagePid = {$plugin.tx_awconsume.persistence.storagePid}
    }
    features {
        # uncomment the following line to enable the new Property Mapper.
        # rewrittenPropertyMapper = 1
    }

    widgets {
        menu = USER
        menu {
            userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
            pluginName = FeAwConsume
            extensionName = AwConsume
            controller = ConsumerItem
            action = list
            vendorName = Alexweb
        }
    }
}

ext_tables.php

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    $_EXTKEY,
    'FeAwConsume',
    'fe_awconsume'
);

ext_localconf.php

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'Alexweb.' . $_EXTKEY,
    'FeAwConsume',
    array(
        'ConsumerItem' => 'list, show, new, create, delete',

    ),
    // non-cacheable actions
    array(
        'ConsumerItem' => 'create, delete',

    )
);

我已根据@lorenz 的回答更新了代码 sn-ps,但我仍然没有得到任何输出

我也推送了TER 0.1.5的最新版本

更新 4

我确实设法在添加后获得了预期的输出

plugin.tx_awconsume.widgets {
    menu = USER
    menu {
        userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
        pluginName = FeAwConsume
        extensionName = AwConsume
        controller = ConsumerItem
        action = list
        vendorName = Alexweb
    }
}

\typo3conf\ext\aw_consume\Configuration\TypoScript\setup.txt的模板排版文件

它最初是由 extension_builder 扩展放置的,但是我觉得这不是一个好主意

【问题讨论】:

标签: typo3 typoscript typo3-6.1.x


【解决方案1】:

如果您仔细查看您的 ext_localconf.php,您会注意到您使用了供应商名称。供应商名称应以大写开头,因此您的 ext_localconf.php 应为:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'Alexweb.' . $_EXTKEY,
    'MyPlugin',
    array(
        'ConsumerItem' => 'list, show, new, create, delete',        
    ),
    array(
        'ConsumerItem' => 'create, delete',     
    )
);

您的 ext_tables.php 应如下所示:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    $_EXTKEY,
    'MyPlugin',
    'Speaking name of my plugin'
);

插件的 TypoScript 对象应包含供应商名称(属性是 vendorName,而不是供应商):

    userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
    pluginName = MyPlugin
    extensionName = AwConsume
    vendorName = Alexweb
    controller = ConsumerItem
    action = list

请记住,您的类还必须包含供应商名称/使用正确的命名空间:

namespace Alexweb\AwConsume\Controller;

class ConsumerItemController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
}

那你应该没事。

扩展名是您的扩展密钥的大写字母变体,因此如果您的扩展密钥是“aw_consume”,那么您的扩展名就是“AwConsume”。这个名字在类中使用

插件名称是属于您的扩展的特定插件的名称。由于扩展中可以有许多插件,因此您应该为其选择合适的名称。插件名称也应该是 UpperCamelCase。同一个控制器可以有多个插件,因此插件不必像控制器一样命名。

另见http://forge.typo3.org/projects/typo3v4-mvc/wiki/FAQ#What-is-the-Extension-Name

【讨论】:

  • 我已按照您的建议更新了我的问题,但仍然一无所获
  • 尝试使用其他扩展插件,看看它是否可以在那里工作。
  • 我试过LANGUAGE_MENU &lt; plugin.tx_srlanguagemenu.widgets.menuSEARCH_BOX = COA_INT SEARCH_BOX { 10 &lt; plugin.tx_kesearch_pi1 }我可以看到他们
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-20
  • 1970-01-01
  • 2021-05-12
  • 1970-01-01
  • 2022-07-27
  • 2022-11-03
  • 1970-01-01
相关资源
最近更新 更多