如何在 href 中链接树枝模板?

新手上路,请多包涵

如何链接树枝模板?是这样的:

<a href="Events.twig" class="btn btn-primary btn-lg square" role="button">Learn more</a>

有没有办法做到这一点,还是我必须使用 URL 重写?

原文由 Abdullah Seba 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 327
2 个回答

你的问题在概念上是有缺陷的。 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 术语思考的更多信息。

原文由 alexw 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

路线.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>

http://symfony.com/doc/current/templating/render_without_controller.html

原文由 Max P. 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题