2014-10-23 5 views
0

У меня есть редактор свойств Archetype, настроенный с несколькими полями, каждый набор полей с двумя полями: текстовое поле и медиа-подборщик для изображения.Umbraco: Property Querying (архетип)

В методе GetImage(string imgId){} Я пытаюсь получить набор полей с изображением url и текстового поля на основе параметра imgId из медиабраузера и вернуть htmlString. Не уверен, что это лучшая идея, я открыт для предложений.

public static string GetIcon(string imgId) 
{ 
    var umbracoHelper = new UmbracoHelper(UmbracoContext.Current); 
    var myProperty = (IPublishedContent)umbracoHelper.Content(5369).GetPropertyValue<ArchetypeModel>("myProperty"); 
    return ""; 
} 

Чтобы получить все элементы из имущества, я бы это:

foreach (var item in myProperty) 
{ 
    var imgId = item.GetValue("img") //get the image id 
    var img = umbracoHelper.TypedMedia(imgId); 
    <img src="@img.Url" /> 
    <span>@item.GetValue("imgTitle")</span> 
} 

я заметил во время отладки, что fieldsets в архетипе собственности не имеет встроенные в уникальных идентификаторах ???

Как получить изображение и значение textBox, сравнив идентификатор изображения с медиа-подборщиком?

Что-то вроде: ??

var icon = myProperty.Where(x => x.icon == iconId); //wrong 

ответ

0

Я просто играл с этим тоже, что я сделал это:

var helper = new UmbracoHelper(UmbracoContext.Current); 
var media = helper.TypedMedia(iconId); 
var imageUrl = media.GetPropertyValue<string>("umbracoFile"); 

Это Виль возвращает URL, как это: /media/1001/1.jpg таким образом, вы можете иметь гораздо уборщик вид с:

foreach (var item in myProperty) 
{ 
    <img src="@item.imageUrl" /> 
    <span>@item.GetValue("imgTitle")</span> 
} 

Это делает Sence для меня, так mabay вы могли бы использовать это; о)