【发布时间】:2018-10-21 15:08:34
【问题描述】:
我正在尝试为 extbase 扩展设置新的语音 URL 路由。但是前端的详细信息链接绝对没有任何反应。
这是我的 yaml 站点配置代码(NewsPlugin 配置工作,但 CardealerPlugin 不工作):
routeEnhancers:
NewsPlugin:
type: Extbase
limitToPages: [92,93]
extension: News
plugin: Pi1
routes:
- { routePath: '/{news_title}', _controller: 'News::detail', _arguments: {'news_title': 'news'} }
defaultController: 'News::detail'
aspects:
news_title:
type: PersistedAliasMapper
tableName: 'tx_news_domain_model_news'
routeFieldName: 'title'
routeValuePrefix: '/'
CardealerPlugin:
type: Extbase
limitToPages: [84,90]
extension: Cardealer
plugin: Pi1
routes:
- { routePath: '/{model_description}', _controller: 'Cardealer::show', _arguments: {'model_description': ' car'} }
defaultController: 'Cardealer::show'
aspects:
model_description:
type: PersistedAliasMapper
tableName: 'tx_cardealer_domain_model_car'
routeFieldName: 'model_description'
routeValuePrefix: '/'
extTables.php
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'Cardealer',
'Pi1',
'Cardealer'
);
有人可以帮忙吗?
【问题讨论】:
-
EXT:cardealer 未知,可能是自己的 TYPO3 扩展。您是否确保配置的值与扩展名匹配? Fx:插件名称“Pi1”和控制器名称“Cardealer”?
-
我认为这些值是正确的。我从 extTables.php 中添加了代码
-
我不知道是不是这个原因,但可能是这部分的多余空间:{'model_description': 'car'}
-
另一个原因可能是您注册插件的地方。我在我的扩展中的 Configuration/TCA/Override/tt_content.php 和 extTables.php 中的 not 中执行此操作。另外,我在扩展名前面添加了供应商,如下所示: \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( 'VENDOR.extensionkey', 'Pi1', 'my plugin' );
-
@AlexanderGrein:感谢您的回答。我已经创建了 Overides 文件并在 registerPlugin() 中设置了命名空间。但它没有效果:-(你是如何建立到细节视图的链接的?这似乎是不可能的
。我怀疑这一点,因为如果我在新闻列表模板中使用 ,链接也不会解析为口语 URL。
标签: routing typo3 extbase typo3-9.x