Sébastien Sébastien - 1 year ago 254
PHP Question

service method as twig global variable

In my symfony2 application, I have a getPorfolioUser method which return a specific user variable.

I am looking forward to be able to call

{% if portfolio_user %}

in twig. I did not understand how I could set this as a global variable as from the documentation I am under the impression I can only set fixed elements or services but not services' methods.

Am I obliged to write an extension or a helper for that ?
What the simpler way of doing this ?


Answer Source

You can define your custom service as twig globals variable as follow:

in the config.yml

# Twig Configuration
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
        myGlobaService: "@acme.demo_portfolio_service"  #The id of your service

Use it a Twig file

{% if myGlobaService.portfolio_user() %}

Hope this help

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download