Umbraco、剃须刀和图片库

发布于 2024-11-09 20:10:05 字数 405 浏览 2 评论 0原文

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

My Umbraco Content

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

我正在寻找 cshtml 代码,可能是这样的:

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

提前致谢!

I am new to Umbraco. I am creating an image gallery (called Customers). A Customer has a logo, which is an image.

My Umbraco Content

How do I create a razor macro that outputs a list of customer logos?

I am after the cshtml code, probably something like this:

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

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

稚然 2024-11-16 20:10:05

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

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

Model.Customer 将为您提供当前页面的所有子级的列表,这些子级是客户(内容类型)。

I'm assuming the script executes on the Customers page, and that the content type containing log and url is called Customer:

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

Model.Customer will give you a list of all children of the current page which are Customers (content type).

夜吻♂芭芘 2024-11-16 20:10:05

这是有效的代码

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

Here is the code that works

@inherits umbraco.MacroEngines.DynamicNodeContext
@foreach (var customer in Model.NodeById(1062).Children) {
  <img src="@umbraco.IO.IOHelper.ResolveUrl(customer.logo)" alt="@customer.Name"/>
}
苏辞 2024-11-16 20:10:05

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

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"/>
}

for using a dynamic location (macro parameters), you could do two things:

1. setting this in your root document so the user can change the customer slider location (if you would like that):

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

Where HeaderRoot is the name of a property on your starting file (root)

2. Using a parameter on your razor script

var rootNode = @Parameter.RootNode;

and use it something like:

@Model.NodeById(rootNode).Children();

so in your code, it would look something like this (not tested):

@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"/>
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文