1

我想为特定内容类型提供打印机友好/纯文本版本。所以我需要使用依赖于 URL 的不同模板呈现相同的内容类型

示例:article/slug 应该使用 article.twig,而 article/slug/print 应该使用 print.twig

这可能吗?还是我必须写一个扩展?

4

1 回答 1

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  %}

更好的解决方案是编写一个新控制器或扩展具有“模板”参数的记录控制器。

于 2015-02-03T22:43:57.067 回答