您可以创建一个自定义布局控件,该控件可以与其他控件(例如内容块)一起使用。
若要创建布局控件,请在 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 可以将其视为控件,并能够动态地将内容注入其中。
具有类的 divsf_cols
对所有控件都是通用的,具有类sf_colsIn
(id="Div1") 的 div 是您拖放到布局控件上的控件所在的位置。所以有一个外包装 div、你的标记和一个内部 div。这是您的内容所在的内部 div。
保存文件,编译项目,然后在 Sitefinity 中注册控件。
为此,请登录到后端,然后导航到管理 | 设置 | 高级设置 | 工具箱 | 工具箱 | 页面布局 | 部分。我通常会添加一个具有以下属性的新部分:
name=Custom,Title=Custom,Description=Custom Layouts,Global resourceClassId=PageResources
然后选择您的新部分,选择工具,然后选择新建。Name、Title、Description 对你来说是有意义的。控制 CLR 类型应该是Telerik.Sitefinity.Web.UI.LayoutControl, Telerik.Sitefinity
,布局模板应该是 ascx 文件的路径,即~/LayoutControls/AsideBlock.ascx
. 其他属性可以具有默认值(大多数只是空白)。然后保存。
现在,当您编辑页面时,单击右侧栏中的“布局”按钮,您将看到包含您的控件的“自定义”部分。将其拖到页面上,然后返回到“内容”编辑(使用右侧栏中的按钮)。您将看到您的布局控件并将内容块拖放到它上面。
正常添加内容。当页面呈现时,内容将被包装在 side 标记中。