【问题标题】:Routing: Choose template dependent from URL路由:选择依赖于 URL 的模板
【发布时间】:2015-02-03 21:57:46
【问题描述】:

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

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

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

【问题讨论】:

    标签: bolt-cms


    【解决方案1】:

    所以这是一个小技巧,但它有效。我在 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  %}
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-22
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多