【问题标题】:Kentico - Different transformations for hero bannersKentico - 英雄横幅的不同转换
【发布时间】:2017-02-20 21:37:48
【问题描述】:

我为我的英雄横幅设置了一个自定义页面类型(所有这些都在内容树上的 /hero/ 文件夹中),并使用转发器以轮播的形式显示横幅。当前的转换我将所有横幅内的所有元素(文本/按钮)居中。但是,在某些情况下,如果元素左对齐或右对齐,效果会更好。有没有办法为这种事情使用多个转换?更好的是,是否可以手动指定将哪个转换应用于 /hero/ 文件夹中的哪个项目。

我注意到交替变换有一个字段;但是,看起来 Kentico 会自动将其应用于偶数项。感谢您的意见!

【问题讨论】:

    标签: kentico


    【解决方案1】:

    可能最简单的方法是向页面类型添加一个额外的字段(或几个字段),编辑器可以在其中指定元素的位置或简单地键入一个类。例如。下拉选项右,左和中心;每个选项值都可以是您刚刚包含在转换中的类。剩下的只是适当的 CSS 类的实现。

    【讨论】:

      【解决方案2】:

      如果您正在使用 Text/XML 转换,那么您也可以编写内联 if 条件:

      {% if(heroName == "Zeus" || heroName == "Odin"){ %}
      <h2>HTML for zeus or odin</h2>
      {% } else { %}
      <h2>HTML for anyone else </h2>
      {% }%}
      

      This documentation 可能对宏语法和表达式有所帮助。

      【讨论】:

        【解决方案3】:

        交替变换用于自动奇/偶元素。

        在您的转换中,您可以使用条件并调用另一个转换。像这样的:

        {% CurrentDocument.ApplyTransformation( ([YOURCONDITION] ? "[TRANSFORMATION_A]" : "[TRANFORMATION_B]") ) %}
        

        其中 [YOURCONDITION] 是测试是否使用 TRANSFORMATION_A 或 TRANSFORMATION_B 的条件。 转换名称必须包含整个“路径”(例如 CMS.Root.UsersInText)

        【讨论】:

        • 我不确定如何获得整个转换路径。是不是像下面这样? ~/App_Themes/Components/Transformations/site.transformations/herobanner
        • 不。它是转换的“命名空间”。例如,如果转换“MyTransformation”在页面类型“CUSTOM.Transformations”中,则完整名称为:CUSTOM.Transformations.MyTransformation 请记住,调用 ApplyTransformation 方法的类将“传递”给转换,例如,如果您在 MyTransformation 中使用 CurrentDocument.ApplyTransformation("CUSTOM.Transformations.MyTransformation") 您可以访问 CurrentDocument 的所有属性(如 AliasPath)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-09-07
        • 1970-01-01
        • 1970-01-01
        • 2016-04-15
        • 1970-01-01
        • 1970-01-01
        • 2015-08-18
        相关资源
        最近更新 更多