2016-08-22 76 views
2

我參照這些頁面創建了兩個自定義內容類型:Drupal的8:您已請求不存在的服務 「router.route_provider.old」

https://www.drupal.org/node/2629550

https://www.drupal.org/node/2693979

未捕獲到的PHP異常 Symfony \ Component \ DependencyInjection \ Exception \ ServiceNotFoundException: 「您請求了一個不存在的服務 」router.route_provider.old「。這些: 「router.route_provider」,「router.route_preloader」?「在 ... \核心\ LIB \ Drupal的\分量\ DependencyInjection \ Container.php 線157

任何人都可以請幫我,爲什麼發生這種情況,如何解決?

我正在使用Drupal 8.1.8版本。

+0

您可以編輯您的問題,包括圍繞'DiscoveryTrait.php'線52的代碼? –

+0

以下是52附近的代碼: protected function doGetDefinition(array $ definitions,$ plugin_id,$ exception_on_invalid)//避免使用可創建數組副本的三元組。 (isset($ definitions [$ plugin_id])){ return $ definitions [$ plugin_id]; } elseif(!$ exception_on_invalid){ return NULL; } throw new PluginNotFoundException($ plugin_id,sprintf('The「%s」plugin does not exist。',$ plugin_id)); } –

+0

這是非常難以閱讀,人們可能看不到在這裏的評論。請修改您的問題以包含該問題。我對Drupal一無所知,只是試圖幫助你解答你的問題。 –

回答

2

我core.services.yml文件檢查,有通過複製「路由器聲明爲「router.route_provider.old」

我創建了一個路由器命名爲「router.route_provider.old」的路由。 core.services.yml文件中的「route_provider」,它解決了我的問題。

我認爲Drupal使用「router.route_provider.old」路由器作爲臨時文件來複制「router.route_provider」路由器信息。但是,由於這個路由器名稱不存在,它的拋出異常。

我不知道這是一個錯誤還是有更好的方法來解決它。

更新: 補丁在這裏提供:https://www.drupal.org/node/2788087

+0

更新: 補丁提供在這裏: https://www.drupal.org/node/2788087 –

相關問題