在Umbraco 7中显示媒体库中的图像
这应该非常简单,但我无法让它工作:我只想在部分视图模板中显示上载到Umbraco媒体库(Umbraco 7.1.1)的图像。代码是在Umbraco 7中显示媒体库中的图像,umbraco,umbraco7,Umbraco,Umbraco7,这应该非常简单,但我无法让它工作:我只想在部分视图模板中显示上载到Umbraco媒体库(Umbraco 7.1.1)的图像。代码是 @inherits Umbraco.Web.Mvc.UmbracoTemplatePage @{ var imgNode = CurrentPage.BannerBackgroundImage; var imgUrl = umbraco.library.NiceUrl(imgNode); <div id="banner-wrapp
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
var imgNode = CurrentPage.BannerBackgroundImage;
var imgUrl = umbraco.library.NiceUrl(imgNode);
<div id="banner-wrapper" style="background: url('@imgUrl') center center no-repeat;">
<!-- some irrelevant content -->
</div>
}
@继承Umbraco.Web.Mvc.UmbracoTemplatePage
@{
var imgNode=CurrentPage.BannerBackgroundImage;
var imgUrl=umbraco.library.NiceUrl(imgNode);
}
其中BannerBackgroundImage是页面的自定义属性。但是,当显示时,@imgUrl
将替换为#
我尝试过的其他选择还有、、和,仅举几个例子
如果有人能帮我解决我认为是新手的问题,我将不胜感激 这对我来说很有效,从Umbraco 6媒体文档中
var bannerImage=Umbraco.TypedMedia(Model.Content.GetPropertyValue(“plainImage”);
我发现这样做既简单又干净:
@if (CurrentPage.Image != null && !(CurrentPage.Image is Umbraco.Core.Dynamics.DynamicNull))
{
var m = Umbraco.Media(CurrentPage.Image);
<img src="@m.Url" alt="@m.UrlName" />
}
@if(CurrentPage.Image!=null&!(CurrentPage.Image是Umbraco.Core.Dynamics.DynamicNull))
{
var m=Umbraco.Media(当前页面图像);
}
我希望它能帮助别人谢谢耶稣·莫戈伦
我将其折叠为:
<img src="@Umbraco.Media(CurrentPage.headerBackgroundImage).Url" alt="">
我已经将该文件设置为强制,希望我不需要if语句部分。在模板中
umbraco:Macro runat=“server”language=“cshtml”
/翁布拉科:宏
---Model.photo=photo是爱丽丝的名字试试这个
@if (CurrentPage.Image != null && !(CurrentPage.Image is Umbraco.Core.Dynamics.DynamicNull))
{
var m = Umbraco.Media((int)CurrentPage.Image);
<img src="@m.Url" alt="@m.UrlName" />
}
@if(CurrentPage.Image!=null&!(CurrentPage.Image是Umbraco.Core.Dynamics.DynamicNull))
{
var m=Umbraco.Media((int)CurrentPage.Image);
}
注意:由于Umbraco.Media模棱两可的构造函数,您应该将CurrentPage.Image强制转换为int
<img src="@Umbraco.Media(Convert.ToString(@Umbraco.Field("image"))).umbracoFile" alt="" />
在经历了一段出乎意料的艰难时期之后,我本以为这件事会很容易,但这次剪短对我来说很有效
@if (Model.Content.HasValue("OtherImages"))
{
var otherImages = Model.Content.GetPropertyValue<List<IPublishedContent>>("OtherImages");
foreach (var image in otherImages)
{
if (image != null)
{
<img src="@image.Url" alt="@image.Name" class="img-responsive img-rounded" />
}
}
}
@if(Model.Content.HasValue(“其他图像”))
{
var otherImages=Model.Content.GetPropertyValue(“otherImages”);
foreach(其他图像中的var图像)
{
如果(图像!=null)
{
}
}
}
很多其他帖子对我来说都不起作用,但我认为API已经有了一些变化。我用的是Umbraco 7.6.1。我不确定是否有必要进行空检查,但它肯定不会造成任何伤害。我在所使用的模板或母版中doctype上方的部分中输入了这一点
@{
Layout = null;
var regionalPage = Umbraco.Content(this.CurrentPage.Id);
string manangerPhotoUrl = string.Format("https://assets.yourdomain.com{0}", @Umbraco.Media(regionalPage.managerPhoto).Url);
}
然后,我将保存字符串值的变量添加到标记中的图像源属性中
<img class="img-responsive" src="@manangerPhotoUrl" />
+1经过大量搜索和尝试,这是唯一对我有效的答案。我不明白的是,为什么媒体采集器还没有这样做?与呈现所需图像的URL的调用不同,是否有充分的理由不使用输出ID的不同函数?其中M=什么?!请在你的答案中添加一些解释,以帮助OP和其他人理解你发布的代码。在给出答案之前,答案是正确的,但过程太长。。第一个Umbraco.字段(“图像”),它是页面中的媒体选择器,并返回该字段的id。另一个和img路径的语法相同……我只是简写。
@{
Layout = null;
var regionalPage = Umbraco.Content(this.CurrentPage.Id);
string manangerPhotoUrl = string.Format("https://assets.yourdomain.com{0}", @Umbraco.Media(regionalPage.managerPhoto).Url);
}
<img class="img-responsive" src="@manangerPhotoUrl" />