Umbraco,剃须刀和图片库

时间:2011-05-25 02:57:57

标签: razor umbraco

我是Umbraco的新手。我正在创建一个图库(称为客户)。客户有一个徽标,这是一个图像。

My Umbraco Content

如何创建输出客户徽标列表的剃刀宏?

我正在使用cshtml代码,可能是这样的:

@inherits umbraco.MacroEngines.DynamicNodeContext
@foreach (var customer in Content.Customers) {
  <img src="@customer.logo.umbracoFile" alt="@customer.Name"/>
}

提前致谢!

3 个答案:

答案 0 :(得分:3)

我假设脚本在 Customers 页面上执行,并且包含日志和网址的内容类型称为客户

@foreach(var customer in Model.Customer)
{
    <img src="@customer.Media("logo", "umbracoFile")" alt="@customer.Name"/>
}

Model.Customer会为您提供当前页面中Customer个(内容类型)的所有子项列表。

答案 1 :(得分:1)

以下是适用的代码

@inherits umbraco.MacroEngines.DynamicNodeContext
@foreach (var customer in Model.NodeById(1062).Children) {
  <img src="@umbraco.IO.IOHelper.ResolveUrl(customer.logo)" alt="@customer.Name"/>
}

答案 2 :(得分:0)

使用动态位置(宏参数),你可以做两件事:

<强> 1。在根文档中设置此项,以便用户可以更改客户滑块位置(如果您愿意):

var RootNode = @Model.NodeById(@Model.AncestorOrSelf(1).HeaderRoot);

其中HeaderRoot是起始文件(root)上属性的名称

<强> 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"/>
}
相关问题