Php 如何在href中链接小枝模板?

Php 如何在href中链接小枝模板?,php,html,symfony,twig,Php,Html,Symfony,Twig,如何链接细枝模板?大概是这样的: 有没有办法做到这一点,或者我必须使用URL重写 如果您使用的是twig,则需要对模板进行解析,因此您无法以尝试过的方式进行链接。在Symfony 2中,您可能会使用类似于{{path('name_of_path')}}的东西,但是您需要首先命名您的路由 您可以使用带有注释的name=“event”命名路线: use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; /** * Matches /

如何链接细枝模板?大概是这样的:


有没有办法做到这一点,或者我必须使用URL重写

如果您使用的是
twig
,则需要对模板进行解析,因此您无法以尝试过的方式进行链接。在Symfony 2中,您可能会使用类似于
{{path('name_of_path')}}
的东西,但是您需要首先命名您的路由

您可以使用带有注释的
name=“event”
命名路线:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

/**
 * Matches /event exactly
 *
 * @Route("/event", name="event")
 */
public function eventAction()
{
    // ...
}
在具有以下内容的细枝模板链接中:

<a href="{{ path('event') }}">Event</a>

更多信息请点击此处:

如果您使用的是
twig
,则需要对模板进行解析,因此您无法以尝试过的方式进行链接。在Symfony 2中,您可能会使用类似于
{{path('name_of_path')}}
的东西,但是您需要首先命名您的路由

您可以使用带有注释的
name=“event”
命名路线:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

/**
 * Matches /event exactly
 *
 * @Route("/event", name="event")
 */
public function eventAction()
{
    // ...
}
在具有以下内容的细枝模板链接中:

<a href="{{ path('event') }}">Event</a>

更多信息请点击此处:
你不能。执行另一个控制器操作,以呈现
事件.twig
,并使用以下命令链接到相应的路由:



    • 你不能。执行另一个控制器操作,以呈现
      事件.twig
      ,并使用以下命令链接到相应的路由:

      
      

      您可以为此使用模板控制器。只需添加新路由,指定模板控制器
      FrameworkBundle:template:template
      和细枝模板

      routes.yml

      qwerty:
          path: /qwerty
          defaults:
              _controller: FrameworkBundle:Template:template
              template:    Events.twig
      
      并将此链接更改为:

      <a href="{{ path('qwerty') }}" class="btn btn-primary btn-lg square" role="button">Learn more</a>
      
      
      

      您可以为此使用模板控制器。只需添加新路由,指定模板控制器
      FrameworkBundle:template:template
      和细枝模板

      routes.yml

      qwerty:
          path: /qwerty
          defaults:
              _controller: FrameworkBundle:Template:template
              template:    Events.twig
      
      并将此链接更改为:

      <a href="{{ path('qwerty') }}" class="btn btn-primary btn-lg square" role="button">Learn more</a>
      
      
      

      你的问题在概念上有缺陷。Twig是一种模板语言,不能单独呈现为网页

      您可能不想直接链接到
      .twig
      文件(实际上,
      .twig
      文件根本不应该在公共文档根目录中直接访问)!相反,您需要一些PHP代码(或者是独立脚本,或者最好是一个脚本),用于在应用程序的上下文中呈现模板,并在指定的URL处返回完全呈现的页面

      例如,在Slim框架中,您可以执行以下操作:

      // Render Twig template in route
      $app->get('/events', function ($request, $response, $args) {
          return $this->view->render($response, 'events.html.twig');
      });
      
      // Run app
      $app->run();
      

      请参阅,以了解更多有关远离程序性意大利面条代码和用MVC术语思考的信息。

      您的问题在概念上有缺陷。Twig是一种模板语言,不能单独呈现为网页

      您可能不想直接链接到
      .twig
      文件(实际上,
      .twig
      文件根本不应该在公共文档根目录中直接访问)!相反,您需要一些PHP代码(或者是独立脚本,或者最好是一个脚本),用于在应用程序的上下文中呈现模板,并在指定的URL处返回完全呈现的页面

      例如,在Slim框架中,您可以执行以下操作:

      // Render Twig template in route
      $app->get('/events', function ($request, $response, $args) {
          return $this->view->render($response, 'events.html.twig');
      });
      
      // Run app
      $app->run();
      

      请参阅,以了解更多有关远离程序性意大利面代码和用MVC术语思考的信息。

      愚蠢的问题,但我应该将
      路线放在哪里。yml
      ?我曾经在链接文档中用php这样做过,但是我得到了
      未捕获的小枝错误\u语法:未知的“路径”函数
      愚蠢的问题,但是我把
      routes.yml
      放在哪里呢?我曾经在链接文档中用php做过这件事,但是我得到了
      uncaughttwig\u Error\u语法:未知的“path”函数