2015-05-20 6 views
0

Я пытаюсь определить маршруты для своего плагина. Все работает как надо, потому что я получил довольно URL на выходе, но, к сожалению, пока я пытаюсь получить доступ к нему я получаю сообщение об ошибке 404 с сообщением:Маршруты для плагина Neos

# 1303209195: Нет Контроллер не может быть решен, который соответствует бы ваш запрос. Ключ пакета: "", имя контроллера: "Стандарт". (GET 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. Я что-то пропустил в своей конфигурации?

ответ

0

Хорошо, я наконец выясню, что случилось. Я определил свой маршрут для плагина с необязательными параметрами, которые каким-то образом были неправильно интерпретированы обработчиком запросов. Правильные пути для моего плагина должно выглядеть следующим образом:

- 
    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 
+0

было бы удивительным, если вы можете создать отчет об ошибке для этого на http://jira.typo3.org - так что мы можем улучшить ситуацию. От взгляда на код, я бы сказал, что ваше первоначальное решение должно обязательно работать, поэтому, если это не так, я бы счел его ошибкой! Спасибо, Себастьян –

+0

@ SebastianKurfürst Спасибо за сообщение, я добавлю его в ближайшее время. – marian0