カスタム小枝の拡張子が正しい方法である:小枝で
例:
<?php
namespace AppBundle\Twig;
use Doctrine\ORM\EntityRepository;
class UserExtension extends \Twig_Extension
{
/**
* @var EntityRepository
*/
private $userRepository;
/**
* @param EntityRepository $repository
*/
public function __construct(EntityRepository $repository)
{
$this->userRepository = $repository;
}
/**
* {@inheritdoc}
*/
public function getFunctions()
{
return array(
new \Twig_SimpleFunction('number_of_current_users', array($this, 'numberOfCurrentUsers')),
);
}
/**
* @param $sku
*
* @return string
*/
public function numberOfCurrentUsers()
{
return $this->userRepository->getNumberOfCurrentUsers();
}
/**
* {@inheritdoc}
*/
public function getName()
{
return 'user';
}
}
とこのようにそれを登録します。
{{ number_of_current_users() }}
は、このような小枝の拡張機能を作成します。
app.twig.users:
class: AppBundle\Twig\UserExtension
arguments: ['INJECT YOUR USER REPOSITORY HERE']
public: false
tags:
- { name: twig.extension }
これは厳密にレンダリングするためのものなので、最初に選択するのはおそらくカスタムtwig拡張を書くことです:https://symfony.com/doc/current/templating/twig_extension.html – Cerad
私はそう言うでしょう前のイベントリスナーbase.html.twigをレンダリングします。あなたはフランス人だそうです。 openclassroomチュートリアルを見てください。チュートリアルのこのページは、あなたが必要としているものとまったく同じようです。 https://openclassrooms.com/courses/developpez-votre-site-web-avec-le-framework-symfony2/le-gestionnaire-d-evenements-de-symfony2 – Mz1907
はい私はフランス人で、はいopenclassroomsはとても良いですしかし私は私の問題のための道を見つけませんでした。ドキュメンテーションはとても大きく、私はsymfonyを使い始めました。 –