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
Post a Comment