Я использую Twig для моего проекта, и я хочу расширить глобальный объект app.user без добавления свойства в свой UserClass. Я имею в виду это:expand app.user в Symfony 2
У меня есть UserClass:
<?php
namespace Test\CoreBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
* @ORM\Entity(repositoryClass="Test\CoreBundle\Repositories\UserRepository")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
}
И я Repository:
<?php
namespace Test\CoreBundle\Repositories;
use Doctrine\ORM\EntityRepository;
class UserRepository extends EntityRepository
{
public function getCountPosts() {
//some code
return 10;
}
}
Как я могу получить доступ к методу getCountPosts UserRepository внутри шаблонов Twig?
Я предполагаю, что у вас есть 'OneToMany' отношения с' Post' лица. Как насчет '{{app.user.posts | length}}'? – Touki
Считаете ли вы, что нужно создать расширение твига и разоблачить функцию репозитория? – Maerlyn