Umbraco,剃须刀和图片库

问题描述

| 我是Umbraco的新手。我正在创建一个图片库(称为客户)。客户有徽标,即图像。 如何创建输出客户徽标列表的剃须刀宏? 我在csHTML代码之后,可能是这样的:
@inherits umbraco.MacroEngines.DynamicNodeContext
@foreach (var customer in Content.Customers) {
  <img src=\"@customer.logo.umbracoFile\" alt=\"@customer.Name\"/>
}
提前致谢!     

解决方法

我假设脚本在“客户”页面上执行,并且包含日志和URL的内容类型称为“客户”:
@foreach(var customer in Model.Customer)
{
    <img src=\"@customer.Media(\"logo\",\"umbracoFile\")\" alt=\"@customer.Name\"/>
}
Model.Customer
将为您列出当前页面中所有
Customer
(内容类型)的子级。     ,这是有效的代码
@inherits umbraco.MacroEngines.DynamicNodeContext
@foreach (var customer in Model.NodeById(1062).Children) {
  <img src=\"@umbraco.IO.IOHelper.ResolveUrl(customer.logo)\" alt=\"@customer.Name\"/>
}
    ,要使用动态位置(宏参数),您可以做两件事: 1.在您的根文档中进行设置,以便用户可以更改客户滑块的位置(如果您愿意):
var RootNode = @Model.NodeById(@Model.AncestorOrSelf(1).HeaderRoot);
其中HeaderRoot是起始文件(根)上的属性的名称 2.在剃刀脚本上使用参数
var rootNode = @Parameter.RootNode;
并使用类似:
@Model.NodeById(rootNode).Children();
因此在您的代码中,它看起来像这样(未经测试):
@inherits umbraco.MacroEngines.DynamicNodeContext

@{ var rootNode = @Parameter.RootNode;}
@foreach (var customer in Model.NodeById(rootNode).Children()) {
  <img src=\"@umbraco.IO.IOHelper.ResolveUrl(customer.logo)\" alt=\"@customer.Name\"/>
}