将单个图像添加到Sitefinity模板的最简单方法是什么?

时间:2014-05-20 13:05:52

标签: sitefinity

我安装了Sitefinity 7.0。我添加了自定义内容类型,其中包含单个所需图片的字段。

我为此内容类型创建了自定义模板。在网站上,您可以单击示例,了解如何将字段添加到窗口小部件模板。这就是它为“图片”字段提供的内容:

<%--The following namespace should be registered at the top of the control if it doesn't exists--%>      
<%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Modules.Libraries.Web.UI.Images" TagPrefix="sf" %>      
<%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Modules.Libraries.Web.UI" TagPrefix="sf" %>
            <sf:ImagesView ControlDefinitionName="ImagesFrontend" runat="server" MasterViewName="ImagesFrontendThumbnailsListLightBox" Title="" UrlKeyPrefix="">
                <RelatedDataDefinition RelatedFieldName="Picture" RelatedItemType="Telerik.Sitefinity.DynamicTypes.Model.GIARRecipients.GiarRecipient" RelationTypeToDisplay="Child" RelatedItemSource="DataItemContainer">
                </RelatedDataDefinition>    
                <ControlDefinition ControlDefinitionName="ImagesFrontend" runat="server" ProviderName="OpenAccessDataProvider">
                    <Views>
                        <sf:ImagesViewMasterDefinition SortExpression="" ViewName="ImagesFrontendThumbnailsListBasic" runat="server">
                        </sf:ImagesViewMasterDefinition>
                        <sf:ImagesViewMasterDefinition  SortExpression="" ViewName="ImagesFrontendThumbnailsListLightBox" runat="server">
                        </sf:ImagesViewMasterDefinition>
                        <sf:ImagesViewMasterDefinition  SortExpression="" ViewName="ImagesFrontendThumbnailsListSimple" runat="server">
                        </sf:ImagesViewMasterDefinition>
                        <sf:ImagesViewMasterDefinition  SortExpression="" ViewName="ImagesFrontendThumbnailsListStrip" runat="server">
                        </sf:ImagesViewMasterDefinition>
                        <sf:ImagesViewDetailDefinition ViewName="ImagesDetailView" runat="server">
                        </sf:ImagesViewDetailDefinition>
                    </Views>
                </ControlDefinition >
            </sf:ImagesView>

这太过分了,生成的标记使用<ul><li>,即使它总是只有一个图像。理想情况下,我希望它像<img src='<%# Eval("Picture") %>' />

一样简单

将单个图像添加到Sitefinity模板的最简单方法是什么?

2 个答案:

答案 0 :(得分:3)

对于自定义内容类型的图片字段,您可以通过点击&#34;限制&#34;来限制图片数量。添加字段时的选项卡。选择&#34;只能上传或选择1张图片&#34;

picture here

在模板中使用的控件是Sitefinity Images控件:

<sf:ImageControl runat="server" Title="" UrlKeyPrefix=""  ProviderName="OpenAccessDataProvider" >
    <RelatedDataDefinition RelatedFieldName="OneImage" RelatedItemType="Telerik.Sitefinity.DynamicTypes.Model.Solutions.Solution" RelationTypeToDisplay="Child" RelatedItemSource="DataItemContainer">
    </RelatedDataDefinition>
</sf:ImageControl>

渲染的标记是包含在div中的图像标记:

<div class="sfimageWrp">                    
    <img id="ctl09_ctl00_ctl00_detailContainer_ctl03_0_ctl00_0_ctl00_0_imageItem_0" title="ootb" src="/images/default-source/default-album/ootb.png?sfvrsn=0" alt="ootb">
</div>

答案 1 :(得分:1)

我选择Ben的答案是正确的,但我在平均时间找到的替代方案也值得一提。

<img src='<%# ((Telerik.Sitefinity.Libraries.Model.Image)Eval("Picture")).Url %>' />