-->

在分配插件Typo脚本(Assign plugin in typoscript)

2019-09-26 08:07发布

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

我使用它,因为它的工作内容元素

当我试图给一个分部在我的TypoScript什么也不显示

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答案,但IM仍然没有得到输出更新的代码段

我也曾在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
    }
}

若要从模板Typo脚本文件\typo3conf\ext\aw_consume\Configuration\TypoScript\setup.txt

它最初由extension_builder延伸放置,但是我有一种感觉,这是不是一个真正的好主意

Answer 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'
);

你的插件的Typo脚本对象应该包括供应商名称(该属性是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 {
}

然后,你应该罚款。

扩展名是您的分机键UpperCamelCase变型,因此,如果您的分机键是“aw_consume”,你的扩展名是“AwConsume”。 此名称在类中使用

插件的名字是一个特定的插件,是扩展的一部分的名称。 由于可以有很多插件,扩展,你应该选择它合适的名字。 该插件名称也应该是UpperCamelCase。 你可以有相同的控制器多个插件,所以插件没有被命名,如控制器。

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



文章来源: Assign plugin in typoscript