Я хочу, чтобы пользователь сможет выбрать цвет фона, используя выпадающий списокSitecore MVC Стандартные параметры рендеринга
Я создал новый шаблон, который наследуется от стандартных параметров визуализации в качестве шаблона базы и стандартное значение имеет $ имя маркера
Вот определение шаблона Цвет:
ColorName --- DropLink ---/Sitecore/содержание/Главная/Global/цвета
[SitecoreType(TemplateId = "{55DB8F6A-807D-48F8-A3D1-D81037938F13}", AutoMap = true)]
public interface IColor:IContentBase
{
string ColorName { get; set; }
}
Я также создал несколько экземпляров шаблона (Red , Синий, зеленый)
Затем я задаю шаблон цвета к ViewRendering в качестве параметра.
Наконец, в cshtml файле, я стараюсь читать этому параметру
@using Glass.Mapper.Sc
@model INews
<H3> Hot News: </H3>
@{
var rendering = RenderingContext.Current.Rendering;
string id = rendering.Parameters["ColorName"];
var context = new SitecoreContext();
var result=context.GetItem<IColor>(new Guid(id));
}
<div style="background-color: @NewsRepository.GetBackgroundColor(rendering);" class="panel-body">
<br/>
<span>@result.ColorName</span><br/>
@Model.Title
</div>
Результат всегда {55DB8F6A-807D-48F8-A3D1-D81037938F13}, тогда как я ожидал "Green". Также пытался использовать Sitecore API, установленный GlassMapper, но все же я получаю Guid.
Спасибо за ваш ответ. Я уже определил класс IColor. но возврат вертела к стеклу Guid –
Вам нужно будет обновить исходный вопрос с подробной информацией, но он должен работать. Убедитесь, что вы опубликовали все свои шаблоны и элементы. – jammykam