我想为特定内容类型提供打印机友好/纯文本版本。所以我需要使用依赖于URL的不同模板呈现相同的内容类型
示例:article / slug应该使用article.twig,而article / slug / print应该使用print.twig
这可能吗?或者我必须写一个扩展名吗?
答案 0 :(得分:0)
所以这是一个小黑客,但它的确有效。我在routing.yml中使用这些行:
printcontentlink:
path: /{contenttypeslug}/{slug}/print
defaults: { _controller: 'Bolt\Controllers\Frontend::template',template:'print' }
requirements:
contenttypeslug: 'Bolt\Controllers\Routing::getAnyContentTypeRequirement'
并将其添加到print.twig的顶部:
{% set currentslug = paths.current|replace({'/print':''}) %}
{% setcontent record = currentslug %}
更好的解决方案是编写新控制器或扩展具有“模板”参数的记录控制器。