Kentico - 英雄横幅的不同转换

Kentico - Different transformations for hero banners

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

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

交替变换用于自动 Odd/Even 元素。

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

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

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

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

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

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

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