Kentico-英雄横幅的不同变换

Kentico-英雄横幅的不同变换,kentico,Kentico,我已经为我的英雄横幅设置了一个自定义页面类型(都在内容树上的/hero/folder中),并使用转发器以旋转木马的形式显示这些横幅。当前的转换将所有元素(文本/按钮)置于所有横幅的中心。但是,在某些情况下,如果元素左对齐或右对齐,效果会更好。有没有一种方法可以对这种事情使用多个转换;更好的是,可以手动指定将对/hero/文件夹中的哪个项目应用哪个转换 我注意到有一个交替变换的场;但是,看起来Kentico会自动将其应用于偶数项。谢谢你的意见 交替变换用于自动奇偶元素 在transofrmatio

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


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

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

在transofrmation中,可以使用条件并调用另一个转换。大概是这样的:

{% CurrentDocument.ApplyTransformation( ([YOURCONDITION] ? "[TRANSFORMATION_A]" : "[TRANFORMATION_B]") ) %}
{% if(heroName == "Zeus" || heroName == "Odin"){ %}
<h2>HTML for zeus or odin</h2>
{% } else { %}
<h2>HTML for anyone else </h2>
{% }%}
其中[YOURCONDITION]是测试是否使用转换A或转换B的条件。
转换名称必须包含整个“路径”(例如CMS.Root.UsersInText)

交替转换用于自动奇偶元素

在transofrmation中,可以使用条件并调用另一个转换。大概是这样的:

{% CurrentDocument.ApplyTransformation( ([YOURCONDITION] ? "[TRANSFORMATION_A]" : "[TRANFORMATION_B]") ) %}
{% if(heroName == "Zeus" || heroName == "Odin"){ %}
<h2>HTML for zeus or odin</h2>
{% } else { %}
<h2>HTML for anyone else </h2>
{% }%}
其中[YOURCONDITION]是测试是否使用转换A或转换B的条件。
转换名称必须包含整个“路径”(例如CMS.Root.UsersInText)

如果您使用的是Text/XML转换,那么您也可以在以下情况下编写内联代码:

{% CurrentDocument.ApplyTransformation( ([YOURCONDITION] ? "[TRANSFORMATION_A]" : "[TRANFORMATION_B]") ) %}
{% if(heroName == "Zeus" || heroName == "Odin"){ %}
<h2>HTML for zeus or odin</h2>
{% } else { %}
<h2>HTML for anyone else </h2>
{% }%}
{%if(heroName==“宙斯”| | heroName==“奥丁”){%
宙斯或奥丁的HTML
{%}其他{%}
其他人的HTML
{% }%}

在宏语法和表达式方面可能会有所帮助。

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

{% CurrentDocument.ApplyTransformation( ([YOURCONDITION] ? "[TRANSFORMATION_A]" : "[TRANFORMATION_B]") ) %}
{% if(heroName == "Zeus" || heroName == "Odin"){ %}
<h2>HTML for zeus or odin</h2>
{% } else { %}
<h2>HTML for anyone else </h2>
{% }%}
{%if(heroName==“宙斯”| | heroName==“奥丁”){%
宙斯或奥丁的HTML
{%}其他{%}
其他人的HTML
{% }%}

在宏语法和表达式方面可能会有所帮助。

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

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

我不确定如何获得整个转换路径。是下面这样的吗~/App_主题/组件/转换/site.Transformations/herobanernope。它是转换的“名称空间”。例如,如果转换“MyTransformation”在页面类型“CUSTOM.Transformations”中,则完整名称为:CUSTOM.Transformations.MyTransformation请记住,调用ApplyTransformation方法的类将“传递”到转换,因此,例如,如果使用CurrentDocument.ApplyTransformation(“CUSTOM.Transformations.MyTransformation”)在MyTransformation中,您可以访问CurrentDocument的所有属性(如AliasPath)。我不确定如何获取转换的整个路径。它是否如下所示?~/App\u Themes/Components/Transformations/site.Transformations/HerobanerNope。它是“名称空间”“关于这些转变。例如,如果转换“MyTransformation”在页面类型“CUSTOM.Transformations”中,则完整名称为:CUSTOM.Transformations.MyTransformation请记住,调用ApplyTransformation方法的类将“传递”到转换,因此,例如,如果使用CurrentDocument.ApplyTransformation(“CUSTOM.Transformations.MyTransformation”)在MyTransformation中,您可以访问CurrentDocument的所有属性(如AliasPath)