您可以创建可与其他控件(如内容块)结合使用的自定义布局控件。
要创建布局控件,请在Visual Studio中打开项目,并在WebApp项目中创建一个新的控件(.ascx)文件。我通常把我的〜/ LayoutControls文件夹,我创建。在该控制文件,输入类似:
<div runat="server" class="sf_cols">
<aside>
<div id="Div1" runat="server" class="sf_colsIn"></div>
</aside>
</div>
你会发现,除了你想要的标记,该标记aside
,我还有其他两个div一些细节。这些都是必需的,因此Sitefinity可以将此视为控件,并能够动态地将内容注入到控件中。
与类sf_cols
的div是所有控件的共同点,而div sf_colsIn
(id =“Div1”)是您放置在布局控件上的控件。所以有一个外包装div,你的标记和一个内部div。这是你的内容将要去的内部分区。
保存您的文件,编译项目,然后在Sitefinity中注册控件。
为此,请登录到后端,然后导航到管理|设置|高级设置|工具箱|工具箱| PageLayouts |部分。我通常添加一个新的部分具有这些属性:
名=自定义,标题=自定义,说明=自定义布局,全球resourceClassId = PageResources
然后选择您的新栏目,选择工具,然后新建。名称,标题,描述对您来说是有意义的。控件CLR类型应该是Telerik.Sitefinity.Web.UI.LayoutControl, Telerik.Sitefinity
,布局模板应该是您的ascx文件的路径,即~/LayoutControls/AsideBlock.ascx
。其他属性可以有默认值(大多数只是空白)。然后保存。
现在,当您编辑页面时,单击右栏中的'布局'按钮,您将看到一个包含您的控件的'自定义'部分。将其拖到页面上,然后返回到“内容”编辑(使用右侧栏中的按钮)。你会看到你的布局控制并将一个内容块放到它上面。
正常添加内容。当页面呈现时,内容将被包裹在旁边的标记中。
正如承诺这里是映射外部模板的指南。希望它有帮助! http://www.selarom.net/sitefinityguru/2012/11/06/mapping-sitefinity-templates-from-the-sdk – SelAromDotNet