Umbraco 7 MVC Razor-渲染图像(多节点树选取器脚本)



我创建了一个多节点树选择器数据类型,我试图将车辆的缩略图列为foreach循环的一部分,但我一直在图像的src中获取ID渲染,我在获取图像的URL时遇到了问题。

MVC Razor代码

@inherits Umbraco.Web.Macros.PartialViewMacroPage
@using Umbraco.Web
@*
    Macro to list nodes from a Multinode tree picker, using the pickers default settings.
    Content Values stored as xml.
    To get it working with any site's data structure, simply set the selection equal to the property which has the 
    multinode treepicker (so: replace "PropertyWithPicker" with the alias of your property).
*@
@* Lists each selected value from the picker as a link *@
<div class="featuredVehicles">
    @foreach (var id in CurrentPage.featuredVehicles.Split(','))
    {    
    @*For each link, get the node, and display its name and url*@
        var vehicleContent = Umbraco.Content(id);
        <div class="col-xs-6 col-md-4 col-xs-height">
            <a href="@vehicleContent.Url">
                @if (vehicleContent.HasValue("vehicleThumbnail"))
                {
                    var mediaItem = Umbraco.TypedMedia(vehicleContent.GetPropertyValue("vehicleThumbnail"));
                    <img class="featuredVehicleImg img-responsive" src="@vehicleContent.GetPropertyValue("vehicleThumbnail")" alt="@vehicleContent.Name"/>                 
                }
                else
                {            
                    <img class="comingSoon" src="http://placehold.it/650x408" alt="@vehicleContent.Name">
                }
                <strong>
                    <span class="name">@vehicleContent.Name</span>
                </strong>
                <span class="desc">@vehicleContent.GetPropertyValue("shortContent")</span>
                <span class="prx">from, <strong>&pound;@vehicleContent.vehiclePrice</strong> per day</span>
                <span class="label label-primary moreinfo">More Info</span>
            </a>
        </div>
    }
</div>

HTML

<img alt="Pharmaceutical Vehicle One" src="1092" class="featuredVehicleImg img-responsive">

问题已解决;

这就是问题产生的地方;

if (vehicleContent.HasValue("vehicleThumbnail")){                                         
                        var dynamicMediaItem = Umbraco.Media(vehicleContent.vehicleThumbnail);
                        <img src="@dynamicMediaItem.umbracoFile" alt="@dynamicMediaItem.Name"/>
                    }
                    else
                    {            
                        <img class="comingSoon" src="http://placehold.it/650x408" alt="@vehicleContent.Name">
                    }

希望它能帮助其他人:-)

相关内容

  • 没有找到相关文章

最新更新