Tag: symfony

条件扩展模板

我使用Symfony 2和Twig,我的问题非常简单: 在一个视图中,我想扩展一个基于variables的布局。 如果该variables为false我想扩展UdoWebsiteBundle::layout.html.twig ,如果它是true我想扩展UdoWebsiteBundle::layout_true.html.twig 。 这是我试过的代码: {% block layout_extender %} {% if intro == 'false' %} {% extends 'UdoWebsiteBundle::layout.html.twig' %} {% else %} {% extends 'UdoWebsiteBundle::layout_true.html.twig' %} {% endif %} {% endblock %} 我得到这个错误: 第7行的“UdoWebsiteBundle:home:home.html.twig”中禁止使用多个扩展标签 有没有其他办法可以做到这一点?

Symfony和Silex的区别

我想尝试Silex,但我有一些问题。 我知道使用Symfony2,我想知道,如果Silex是Symfony非常不同或它是相同的东西(相同的操作,相同的代码…)? 此外,Silex被推荐用于小型PHP项目,Symfony用于中型或大型项目,这是真的吗?

如何在symfony2中创build自定义事件

我想要创build一个名为user_logged自定义事件,以便我可以将侦听器附加到这些事件。 每当用户login时,我都想执行一些function。

Symfony2:在服务中注入当前用户

我正在尝试将当前login的用户注入到服务中。 我的目标是扩展一些树枝function,根据用户的喜好输出。 在这个例子中,我想使用用户特定的时区输出任何date函数。 似乎没有办法将当前用户注入到服务中,这对我来说似乎很奇怪。 注入安全上下文时,即使用户已login,它也没有令牌 我正在使用FOS用户包。 services: … twigdate.listener.request: class: App\AppBundle\Services\TwigDateRequestListener arguments: [@twig, @security.context] tags: – { name: kernel.event_listener, event: kernel.request, method: onKernelRequest } <?php namespace App\AppBundle\Services; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\HttpKernel\Event\GetResponseEvent; class TwigDateRequestListener { protected $twig; function __construct(\Twig_Environment $twig, SecurityContext $context) { $this->twig = $twig; //$this->user = $context->get…; var_dump($context); die; } public function onKernelRequest(GetResponseEvent $event) […]

Symfony 2 – 如何将数据传递给formBuilder?

我在表单中使用实体select列表。 我只想使用特定的实体(例如:只有用户所属的组)。所以,在控制器中,我得到这些组,并试图将它们传递给formBuider 。 控制器: /…/ $groups = $em->getRepository('VendorMyBundle:Group')->getUserGroups($user); $form = $this->createForm(new Message($groups), $message); /…/ 所以现在怎么办? 如何在formBuilder中使用它? 如何改变这一行以使用传递的数组? ->add('group','entity',array('class' => 'Vendor\MyBundle\Entity\Group', 'label'=>'Group:')) 或者以另一种方式: class MessageType { /…/ public function buildForm(FormBuilder $builder, array $options) { $builder ->add('group','entity', array( 'class' => 'Vendor\MyBundle\Entity\Group', 'property' => 'name', 'query_builder' => function ($repository) { $qb = $repository->createQueryBuilder('group'); $qb->add('where', 'group.administrator = :user'); $qb->setParameter('user', […]

FOSUserBundle:用户名和用户名

为什么FOSUserBundle用户实体有两个用户名(和其他字段)的属性? /** * @var string */ protected $username; /** * @var string */ protected $usernameCanonical; 我已经阅读了文档,浏览了源代码,并尝试search信息,但是我找不到它存在的原因。 它似乎总是存储相同的值。 我确信有一个很好的理由,有人可以填补我吗?

在Symfony中validation没有表单的实体2

我正在为Symfony 2创build一个REST API控制器。我开始使用SensioGeneratorBundle创build一个CRUD,并将控制器修改为REST控制器。 但是,我没有表格,所以我正在考虑删除这部分。 我怎样才能确认我的领域没有forms? 一切都连接到表单,我想要一些自由,包括自定义字段名称。 例如,POST x和y字段被Symfony解释为标题和内容。

树枝,加上第一课和最后一课

比方说,我有这样的for循环: {% for elem in arrMenu %} <div class="topmenu-button"> <a href="{{ elem.url }}">{{ elem.name }}</a> </div> {% endfor %} 在这种forms下,它会呈现如下: <div class="topmenu-button"><a href="url">name</a></div> <div class="topmenu-button"><a href="url">name</a></div> <div class="topmenu-button"><a href="url">name</a></div> <div class="topmenu-button"><a href="url">name</a></div> 如何可以帮助我添加第一个和最后一个类的div,所以我会有这样的结果: <div class="topmenu-button first"><a href="url">name</a></div> <div class="topmenu-button"><a href="url">name</a></div> <div class="topmenu-button"><a href="url">name</a></div> <div class="topmenu-button last"><a href="url">name</a></div>

生成唯一的id – doctrine – symfony2

我想为我的门票生成唯一的门票ID。 但是如何让教条生成一个唯一的ID? /** * @ORM\Column(name="id", type="integer") * @ORM\Id() * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; 多一点解释: ID必须是6个章程:678915 ID必须是唯一的

使用Javascript来访问通过Twig传递的variables

我有一个控制器将一个数组传递给一个树枝模板,我想用在该页面上的脚本中。 我将如何去做呢? 我已经在我的.twig模板中试过这个: <script> $(document).ready(function(){ var test = {{ testArray }}; }); </script> 但只有当它是一个string时才有效。