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