2016-12-05 4 views
0

У меня есть настраиваемый модуль содержимого с полем (HistoryBody и TestFieldLong), которые являются длинными текстами и требуются. В моем виджетах контента это поле имеет богатый текстовый редактор. Каждое содержимое для этого типа имеет изображение, встроенное в поле.Шаблон настраиваемого списка Sitefinity встроенное изображение не отображается

Это шаблон пользовательского списка, который будет использоваться:

@model Telerik.Sitefinity.Frontend.DynamicContent.Mvc.Models.DynamicContentListViewModel 

@using Telerik.Sitefinity.Frontend.DynamicContent.WidgetTemplates.Fields.Helpers; 
@using Telerik.Sitefinity; 
@using Telerik.Sitefinity.Data.ContentLinks; 
@using Telerik.Sitefinity.Frontend.Mvc.Helpers; 
@using Telerik.Sitefinity.Frontend.Mvc.Models; 
@using Telerik.Sitefinity.Web.DataResolving; 
@using Telerik.Sitefinity.Model.ContentLinks; 
@using Telerik.Sitefinity.Modules.Pages; 

@Html.Script(ScriptRef.JQuery, "top", false) 

<h3>Company History</h3> 

<div class="@Model.CssClass"> 
    @foreach (var item in Model.Items) 
    { 
     <div class="" @Html.InlineEditingAttributes(Model.ProviderName, Model.ContentType.FullName, (Guid) item.Fields.Id)> 
      <h3 class="sf-event-title">@item.Fields.Title</h3> 
      &nbsp;@item.Fields.TimelineLabel<br /> 
      <p @Html.InlineEditingFieldAttributes("HistoryBody", "LongText")>@Html.Raw(item.Fields.HistoryBody)</p> 
      <p @Html.InlineEditingFieldAttributes("TestFieldLong", "LongText")>@Html.Raw(item.Fields.TestFieldLong)</p> 
     </div> 
    } 


@if (Model.ShowPager) 
{ 
    @Html.Action("Index", "ContentPager", new 
    { 
     currentPage = Model.CurrentPage, 
     totalPagesCount = Model.TotalPagesCount.Value, 
     redirectUrlTemplate = ViewBag.RedirectPageUrlTemplate 
    }) 
} 
</div> 

Оба поля LONGTEXT настроены на использование RichText редактирования ...

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

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

Любые идеи или указатели о том, как получить это исправление, будут оценены.

Это Sitefinity версии 9.x ...

ответ

1

Если вы хотите разрешить ссылки в шаблоне, вы должны использовать LinkParser.ResolveLinks() метод

В вашем случае это должно быть:

<p @Html.InlineEditingFieldAttributes("HistoryBody", "LongText")>@Html.Raw(LinkParser.ResolveLinks((string)item.Fields.HistoryBody,DynamicLinksParser.GetContentUrl,null,SystemManager.IsInlineEditingMode))</p> 
<p @Html.InlineEditingFieldAttributes("TestFieldLong", "LongText")>@Html.Raw(LinkParser.ResolveLinks((string)item.Fields.TestFieldLong,DynamicLinksParser.GetContentUrl,null,SystemManager.IsInlineEditingMode))</p> 

и это usings:

using Telerik.Sitefinity.Modules.GenericContent; 
using Telerik.Sitefinity.Services; 
using Telerik.Sitefinity.Web.Utilities; 
+0

Я добавил usings и попытался вы упоминаете изменения и получить следующее сообщение об ошибке : «Невозможно использовать« GetContentUrl »в качестве аргумента для динамически отправленной операции, потому что это группа методов. Вы намеревались вызвать метод? », Используя GetContentUrl .... – Kixoka

+0

извините, забыли упомянуть о том, чтобы сбрасывать в строку. Обновлен мой ответ –

+0

, который работает :) спасибо! – Kixoka

Смежные вопросы