我正在尝试使用自定义创建的扩展程序呈现的内容覆盖我的Typoscript中的标记。
据我所知它应该像这样工作(MENU_PRODUKT_CATEGORIES
)是我的标记:
MENU_PRODUKT_CATEGORIES = COA
MENU_PRODUKT_CATEGORIES {
10 = USER
10 {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = MoTimeProducts
pluginName = Products
vendorName = products
controller = Category
action = parentList
}
}
extensionName和相关配置对我来说似乎也是正确的。当我var_dump()
我的ext_localconf.php配置时,会显示:
我的第一个参数,其中MoTimeProducts是我的extensionName,产品是我的vendorName。这是对的吗?
MoTimeProducts.products
第二个参数应该是pluginName,看起来也不错。
Products
这就是我的完整ext_localconf配置的样子:
<?php
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'MoTimeProducts.' . $_EXTKEY,
'Products',
array(
'Category' => 'list, parentList',
'Product' => 'list, show, filter, ajaxFilter, refList',
'Formular' => 'display'
),
// non-cacheable actions
array(
'Category' => '',
'Product' => 'ajaxFilter, list',
'Formular' => 'display'
)
);
我的控制器和动作配置似乎也很好。我在CategoryController中的行动
/**
* action list
*
* @return void
*/
public function parentListAction() {
$this->view->assign('categories', $currentCategory = $this->categoryRepository->getHighestLevelCategories($GLOBALS['TSFE']->sys_language_uid));
}
我还有一个用于后端配置的弹性表单,插入插件也可能是个原因吗?
感谢阅读。
答案 0 :(得分:1)
哦,哇,是
MENU_PRODUKT_CATEGORIES = COA
MENU_PRODUKT_CATEGORIES {
10 = USER
10 {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
pluginName = Products
extensionName = Products
vendorName = MoTimeProducts
controller = Category
action = list
switchableControllerActions {
Category {
1 = parentList
}
}
}
}
其中带有小写插件名称组合的vendorName是插件配置的第一个参数。
编辑:事实证明,插件/扩展名具有相同的名称是非常糟糕的做法,这可能会导致混淆和错误。人们应该像我不惜一切代价那样避免这样做!