我想为特定内容类型提供打印机友好/纯文本版本。所以我需要使用依赖于 URL 的不同模板呈现相同的内容类型
示例:article/slug 应该使用 article.twig,而 article/slug/print 应该使用 print.twig
这可能吗?还是我必须写一个扩展?
我想为特定内容类型提供打印机友好/纯文本版本。所以我需要使用依赖于 URL 的不同模板呈现相同的内容类型
示例:article/slug 应该使用 article.twig,而 article/slug/print 应该使用 print.twig
这可能吗?还是我必须写一个扩展?
所以这是一个小技巧,但它有效。我在 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 %}
更好的解决方案是编写一个新控制器或扩展具有“模板”参数的记录控制器。