2016-12-05 37 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> 

兩個長文本字段被配置爲使用富文本編輯...

我在頁面上放置小部件並將其配置爲使用上面顯示的自定義列表模板並設置分頁,一次只顯示小部件上的一個項目。因此,不是看到摘要,用戶將看到帶有圖像的完整信息......並且可以移動到不同的頁面以查看更多信息...以及計劃...但是圖像不顯示。佔位符顯示爲無法找到圖像。

我甚至嘗試將自定義圖像字段添加到內容中,但無法通過自定義列表模板顯示。

任何想法或指示如何得到這個更正將不勝感激。

這是Sitefinity v9.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

對不起,忘了提到cast到string。更新我的回答 –

+0

那工作:)謝謝! – Kixoka