有人可以给我一个关于如何在 Umbraco 5.1 模板中显示图像的分步描述。
它一定是简单得可笑,以至于没有人费心去描述它。如果你能一步一步地做到这一点,那就太好了。我现在已经阅读并尝试实现各种 xslt 和 razor 语句、partials 和 marcos,甚至还没有接近。
有人可以给我一个关于如何在 Umbraco 5.1 模板中显示图像的分步描述。
它一定是简单得可笑,以至于没有人费心去描述它。如果你能一步一步地做到这一点,那就太好了。我现在已经阅读并尝试实现各种 xslt 和 razor 语句、partials 和 marcos,甚至还没有接近。
我喜欢在 umbraco5
<img src="@umbraco.GetMediaUrl(Model,"propertyAlias")" alt="image"/>
src="@Umbraco.GetMediaUrl(Model.Id, "image")"
其中Model.Id
是特定图像的 imageid。
Umbraco 中一个常见的混淆点是实际上有两种不同的字段类型,一种用于“上传者”,一种用于“媒体选择器”。
使用上传器,您可以将图像直接上传到内容页面。
使用媒体,您可以将图像上传到媒体库,然后使用媒体选择器控件在整个站点中引用内容。
由于您说您的内容具有媒体 ID,因此我假设您正在尝试使用媒体选择器——这是您可以输出由媒体选择器字段选择的图像的最简单方法。
@Umbraco.GetMediaUrl(@CurrentPage.MyImageFieldAlias)
我这样做。
首先创建一个 Umabraco 宏。给它一个相关的名称(TopLeftImage)现在在页面中使用它,如下所示:-
<img src= <umbraco:Item field="TopLeftImage" useIfEmpty="TopLeftImage" runat="server"/> />
按照这些步骤,你一定会摆脱这个问题:
field
1.首先使用数据类型在umbraco Cms中创建图像media picker
,然后将图像上传到该字段。
2.在页面中创建asp:image
控件visual studio
<asp:image ID="imgLogo" runat="server">
3.Code Behind
然后执行以下代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using umbraco.presentation.nodeFactory;
using Umbraco.Core;
using umbraco;
using umbraco.cms.businesslogic.media;
using umbraco.interfaces;
public partial class UserControls_Header_Nav : System.Web.UI.UserControl
{
umbraco.NodeFactory.Node headerNode = uQuery.GetNode(1139);
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
LoadData();
}
}
private void LoadData()
{
if (headerNode != null)
{
if (headerNode.GetProperty("imgLogo") != null && !string.IsNullOrEmpty(headerNode.GetProperty("imgLogo").Value))
{
string url;
Int32 PhotoId = Convert.ToInt32(headerNode.GetProperty("imgLogo").Value);
var media = new umbraco.cms.businesslogic.media.Media(PhotoId);
var file = media.getProperty("umbracoFile");
url = (string)file.Value;
imgLogo.ImageUrl = url;
}
}
}
}
这对你有用:-)