php - Symfony/Twig : print a function return in twig template -


i'd :

{{ users_number() }} or {{ users_number }} 

in twig's template. service looks :

class homeextension extends \twig_extension  {    public function getfunction()     {         return array(             new \twig_simplefunction('users_number', array($this, 'getusersnb'))         );     }      public function getname()     {         return 'users_number';     }      public function getusersnb(){         $em = $this->getdoctrine()->getmanager();         $countusers = $em->getrepository("asdpusersbundle:users")->getnb();         return $countusers;     } } 

still, can't value in view. how ? or did miss in service ?

edit: registered service :

services:  users_number:   class: asdp\homebundle\twig\extension\homeextension   tags:    - { name : twig.extension } 

is right way ?

try this:

public function getfunctions() {     return array(         new \twig_simplefunction('users_number', array($this,'getusersnb')))     ); } 

and extension must extend \twig_extension , service must have tag twig.extension :

<service class="vendor\bundle\twig\extension\yourextension" id="your.extension.id">   <tag name="twig.extension"/> </service>  

or in yaml:

your.extension.id:     class: vendor\bundle\twig\extension\yourextension     tags:         - { name: twig.extension } 

Comments

Popular posts from this blog

Email notification in google apps script -

c++ - Difference between pre and post decrement in recursive function argument -

javascript - IE11 incompatibility with jQuery's 'readonly'? -