Umbraco 5.1 отображает изображение в шаблоне

Может ли кто-нибудь дать мне пошаговое описание того, как отображать изображение в шаблоне Umbraco 5.1.

Это должно быть настолько смехотворно просто, что никто не удосужился описать это. Если бы вы могли сделать это шаг за шагом, это было бы здорово. Теперь я прочитал и попытался реализовать все виды выражений xslt и razor, партиалов и marcos, но даже близко не подобрался.


person RobCroll    schedule 05.06.2012    source источник


Ответы (5)


Распространенная путаница в Umbraco заключается в том, что на самом деле существует два разных типа полей: один для «загрузчика» и один для «средства выбора».

С помощью загрузчика вы загружаете изображение прямо на страницу контента.

При использовании мультимедиа вы загружаете изображение в библиотеку мультимедиа, а затем ссылаетесь на контент на сайте, используя элемент управления выбора мультимедиа.

Поскольку вы говорите, что ваш контент имеет идентификатор мультимедиа, я предполагаю, что вы пытаетесь использовать средство выбора мультимедиа. Вот самый простой способ вывести изображение, выбранное вашим полем выбора мультимедиа.

@Umbraco.GetMediaUrl(@CurrentPage.MyImageFieldAlias)
person seraphym    schedule 09.06.2012

Мне нравится это в umbraco5

<img src="@umbraco.GetMediaUrl(Model,"propertyAlias")" alt="image"/>
person shweta    schedule 21.06.2012

src="@Umbraco.GetMediaUrl(Model.Id, "image")" 

где Model.Id — это imageid конкретного изображения.

person Usama Khalil    schedule 06.06.2012
comment
Спасибо, Усама, но не могли бы вы дать еще немного намека. Я провел последний час, пробуя все комбинации, которые только мог придумать, но безуспешно. Изображение находится в разделе «Медиа» и имеет идентификатор содержимого://p__nhibernate/v__guid/a6cccd27a3ce4d0bb2bea06500feccb7. - person RobCroll; 07.06.2012

Я делаю это так.

Сначала создайте макрос Umabraco. Дайте ему соответствующее имя (TopLeftImage). Теперь используйте его на странице следующим образом:

<img src= <umbraco:Item field="TopLeftImage" useIfEmpty="TopLeftImage"  runat="server"/>   />
person panky sharma    schedule 14.06.2012

выполните следующие действия, вы обязательно избавитесь от этой проблемы:

1. Сначала создайте изображение field в 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;
            }
        }

    }
}

и это будет работать для вас :-)

person Ankit Agrawal    schedule 10.02.2014