[英]Routes for Neos plugin
我正在嘗試為插件定義路由。 一切都按預期進行,因為我在輸出中獲得了漂亮的URL,但是不幸的是,當我嘗試訪問它時,出現了404錯誤消息:
#1303209195:無法解析與您的請求匹配的控制器。 軟件包密鑰:“”,控制器名稱:“ Standard”。 (獲取http://test.local/dashboard/page/subpage/q/1fcff21b-7690-4f54-7491-f49c825ca05f/38f8b0cf-03e9-1717-b5b3-9bc7aa926862 )
主要Routes.yaml
:
-
name: 'AcmeMyPlugin'
uriPattern: '<AcmeMyPluginSubroutes>'
subRoutes:
AcmeMyPluginSubroutes:
package: 'AcmeMyPlugin'
variables:
'defaultUriSuffix': ''
-
name: 'TYPO3Neos'
uriPattern: '<TYPO3NeosSubroutes>'
subRoutes:
'TYPO3NeosSubroutes':
package: 'TYPO3.Neos'
variables:
'defaultUriSuffix': ''
插件Routes.yaml
:
-
name: 'Nice urls for my plugin'
uriPattern: '{node}/q(/{--acme_myplugin-element.object1}/{--acme_myplugin-element.object2})'
defaults:
'@package': 'TYPO3.Neos'
'@controller': 'Frontend\Node'
'@action': 'show'
'@format': 'html'
'--acme_myplugin-element':
'@package': 'Acme.MyPlugin'
'@controller': 'Standard'
'@action': 'display'
'@format': 'html'
routeParts:
node:
handler: TYPO3\Neos\Routing\FrontendNodeRoutePartHandler
appendExceedingArguments: FALSE
用於插件的Root.ts2
:
prototype(Acme.MyPlugin:Element) < prototype(TYPO3.Neos:Plugin) {
package = 'Acme.MyPlugin'
controller = 'Standard'
action = 'display'
}
我要執行的動作:
public function displayAction(Object1 $object1 = NULL, Object2 $object2 = NULL) {
// body
}
我正在使用Neos 2.0.x-dev。 我是否錯過了配置中的某些內容?
好的,我終於弄清楚出了什么問題。 我為帶有可選參數的插件定義了路由,請求處理程序以某種方式錯誤地解釋了該路由。 我的插件的正確路由應如下所示:
-
name: 'Nice urls for my plugin'
uriPattern: '{node}/q/{--acme_myplugin-element.object1}/{--acme_myplugin-element.object2}'
defaults:
'@package': 'TYPO3.Neos'
'@controller': 'Frontend\Node'
'@action': 'show'
'@format': 'html'
'--acme_myplugin-element':
'@package': 'Acme.MyPlugin'
'@controller': 'Standard'
'@action': 'display'
'@format': 'html'
routeParts:
node:
handler: TYPO3\Neos\Routing\FrontendNodeRoutePartHandler
appendExceedingArguments: FALSE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.