我正嘗試使用ezpublish5爲我的頁面創建一個菜單。我遵循這個教程http://partialcontent.com/Code/working-with-ez-publish-5-subrequests。 我是Symfony的新手,但我有自己的軟件包在運行,至少它使用了我自己的pagelayout.html.twig。爲什麼Symfony2(ezpublish5)不能將我的控制器識別爲服務?
我明白了,做什麼路由,但是我就我而言,以創建菜單我需要別的東西,可能是一種服務,所以我可以在我的樹枝模板做到這一點
{{ render(controller("myMenuController:myFunction")) }}
所以我加入這個我我\包\資源\ CONFIG \ services.yml
parameters:
my_root.menucontroller.class: my\Bundle\Controller\MenuController
services:
my_root.controller:
class: %my_root.menucontroller.class%
arguments: [@ezpublish.view_manager]
calls:
- [setContainer, [@service_container] ]
myalias:
alias: my_root.controller
當我在瀏覽器中打開它,它說:
You have requested a non-existent service "myalias".") in "{% extends "Bundle::pagelayout.html.twig" %}
我檢查了github上ezp5安裝的其他回購,他們有幾乎相同的yml設置。 我也意識到,當我在我的services.yml中故意犯的語法錯誤(它忽略了模板中控制器的調用),它不會改變任何東西。 另外我意識到,當我在我的\ Bundle \ DependencyInjection \ myBundleExtension.php(應該加載我的services.yml文件)中做同樣的事情時,它也不會發生任何事情。
所以我覺得捆綁安裝的東西是錯誤的,不知怎的,不是所有的東西都正確加載。但它會是什麼? symfony2文件中的某處說Bundle \ DependencyInjection \ xyzExtension.php中的加載方法會自動調用。
有人會想到我的設置可能會出錯嗎?我真的沒有想法了。 而對於ezpublish5部分..這真的是現在創建菜單的最佳方式嗎?
您已經使用「%my_root .menucontroller.class%'你是否在config或parameters.yml的其他地方設置了這個屬性? – Kiksy