在模板中嵌入控制器

时间:2012-08-16 13:49:03

标签: symfony twig

我们可以轻松地在一个模板中嵌入一个控制器:

{% render "AcmeGolferBundle:Golfer:showGolfersList" %}

当我们基本上使用这样的控制器时:

 /**
 * Lists all golfers.
 *
 * @Route("/golfersList", name="golfers_list")
 * @Template()
 */
public function showGolfersListAction()
{
    //....doStuff
}

在这种情况下,控制器的唯一用途是在该模板中。有没有办法避免用户直接触发网址,这意味着/golferList本身?

修改

我想说的是以下几点: 我需要用户通过嵌入的模板使用控制器,但不能直接通过url。我意识到这可能是不可能的,但是因为控制器是嵌入式的,所以它没有适当的css结构。因此,如果直接通过url触发它,它在页面上看起来会很难看。

1 个答案:

答案 0 :(得分:2)

Securing route by IP可能对您有用:

security: 
    # ...
    access_control:
        - { path: ^/golferList, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 }