MainBundle/MainFunctions /にサービスを定義しましたが、コントローラでサービスを呼び出すことができます。今すぐテンプレートのSYMFONY 3.4でサービスコンテナを入手できますか?もはや公開されていないドキュメントを読んでください。テンプレート内のsymfony3.4サービスコンテナ
#view/template.html.php
<?php $shop_id = $this->container->get('main_functions')->getSessionShopId(); ?>
マイconfig.yml
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
- { resource: "@FrontendMainBundle/Resources/config/services.yml
私FrontendMainBundle /リソース/設定/ services.yml
services:
_defaults:
public: true
frontend_locale.locale_listener:
class: Frontend\MainBundle\EventListener\LocaleListener
arguments: ["%kernel.default_locale%"]
tags:
- { name: kernel.event_subscriber }
main_functions:
public: true
class: "%main_functions_class.class%"
arguments: ['@translator', '@doctrine.orm.entity_manager'....
私はそれはもう公開されていないというドキュメントをお読みください。しかし、私はテンプレートのmain_functionsに行くことができません。どうやって?
THANKS !!!あなたのテンプレートでいくつかの知能を必要とする場合
サービスロケータをテンプレートに使用することは、私の意見では悪い習慣です。代わりに、コントローラに 'main_functions'サービスを注入し、必要なvarsだけをテンプレートに渡してください。 – yceruto