【问题标题】:Umbraco Razor - iterate through multi node pickerUmbraco Razor - 遍历多节点选择器
【发布时间】:2012-07-20 16:02:21
【问题描述】:

我正在尝试使用 razor 遍历多节点选择器。我的小部件的别名是“venuesPicker”。我收到错误消息“无法加载宏文件”。到目前为止,这是我所拥有的:

<umbraco:Macro runat="server" language="cshtml">
@{
    using uComponents.Core;
    using uComponents.Core.uQueryExtensions;

    foreach (var x in Model.venuesPicker)
    {
        @x.highlightTitle
    }
}
</umbraco:Macro>

【问题讨论】:

    标签: razor umbraco loops


    【解决方案1】:

    查看我对此our.umbraco.org forum post 的回答。基本上,根据 MNTP 使用的是 XML 还是 CSV,您可以执行以下操作之一:

    CSV:

    @using umbraco.MacroEngines
    @inherits DynamicNodeContext
    @if (Model.HasValue("venuesPicker"))
    {
        string[] ids = Model.venuesPicker.Split(',');
    
        <ul>
        @foreach (string id in ids)
        {
            var node = Library.NodeById(id);
            if (node.Id != 0)
            {
                // If node exists:
                <li><a href="@node.Url">@node.Name</a></li>
            }
        }
        </ul>
    }
    

    XML:

    @using umbraco.MacroEngines
    @inherits DynamicNodeContext
    @if (Model.HasValue("venuesPicker"))
    {
        <ul>
        @foreach (var item in Model.venuesPicker)
        {
            var node = Library.NodeById(item.InnerText);
            if (node.Id != 0)
            {
                // If node exists:
                <li><a href="@node.Url">@node.Name</a></li>
            }
        }
        </ul>
    }
    

    【讨论】:

      【解决方案2】:

      您也可以使用 uQuery.getNodesByCSV 或 uQuery.getMediaByCSV。 我认为 uQuery 是在 4.9 中添加到 Umbraco 核心的,否则你可以安装 uComponents 包

      例如,我在 4.9.1 中有类似的东西来循环播放一些媒体

      @using umbraco.MacroEngines
      @using umbraco.cms.businesslogic.media
      @inherits umbraco.MacroEngines.DynamicNodeContext
      @{
          <div class="slideshow">
              @foreach (Media img in uQuery.GetMediaByCsv(Model.lightBoxImages))
              {
                  <figure>
                      <a href="#">
                          <img src="@img.GetImageUrl()"  />
                      </a>
                  </figure>   
              }
          </div>
      }
      

      further info on Umbraco forum

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-22
        • 2012-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多