将默认图像传递给Sitecore MVC Field助手

时间:2014-12-04 04:09:41

标签: sitecore

任何人都知道如何指定渲染sitecore图像字段时显示的默认编辑器图像?

 @Html.Sitecore().Field("Image", new { @class = "full" })

在页面编辑器中,在作者设置图像之前,我得到了丑陋的默认sitecore图像。我想为不同的案例指定我自己的。有没有办法传递默认图像以使用Field助手?

1 个答案:

答案 0 :(得分:0)

默认图像是在核心数据库中的以下项目上定义的,您可以更改它。

enter image description here

或者,您可以继承Sitecore的默认图像(Sitecore.Xml.Xsl.ImageRenderer),并覆盖GetDefaultImage()方法。


另一个不那么脆弱的解决方案是在图像周围放置一个编辑框架。这允许您保留从@Html.Sitecore().Field()帮助程序获得的页面编辑器功能。

此示例假定使用Glass Mapper,但是,您应该能够使用它来使用默认的SitecoreHelper。

@using (Html.BeginEditFrame(Model.Id, new ID(Constants.ItemIDs.EditFrameButtons.Image)))
{
    if (Model.Image != null && !String.IsNullOrEmpty(Model.Image.Src))
    {
        // Render image here
    }
    else
    {
        <img src="//placehold.it/400x225/2379cf/fff" alt="placeholder_image" />
    }
}