好吧,我对Umbraco来说还是个新手,我想要解决一些问题。我写了一个简单的.net脚本:
@{string listString = Model.MyList;}
@{string[] listItems = listString.Split(':');}
<ul class="BulletedList PadBottom PadTop">
@foreach (string item in listItems)
{
<li><span>@item</span></li>;
}
</ul>
我的内容部分中有自定义字段,我希望将此字段的内容放在模板的宏脚本而不是Model.MyList值中,我该怎么做?
这也是我想要完成的最佳实践/工作流程吗?
如何在脚本中编写变量来访问通过宏标记传入的变量?
由于
答案 0 :(得分:0)
好的,找到了我自己的queston的anser,所以我会把它放在任何可能正在寻找同样事物的人身上。
要将内容字段值传递给宏,您需要使用括号语法[#propertyAlias]。因此,例如,如果我有一个名为“myCustomProperty”的页面字段自定义属性,我可以简单地将其插入宏中,如下所示:
<?UMBRACO_MACRO macroAlias="MyMacro" pageValue="[#myCustomProperty]" />
有关这方面的更多信息,请访问:http://our.umbraco.org/wiki/reference/templates/umbracomacro-element/macro-parameters/advanced-macro-parameter-syntax
这会将页面字段的值传递给您的宏。要在宏脚本(.net脚本)中查看它,您需要通过Parameter对象引用它。例如:
@{string myString = Parameter.fieldValue;}
所以示例脚本可能如下所示:
@{string myString = Parameter.fieldValue;}
@{string[] listItems = myString.Split(':');}
<ul class="BulletedList PadBottom PadTop">
@foreach (string item in listItems)
{
<li><span>@item</span></li>;
}
</ul>
希望这有帮助。