我在使用CMSListMenu的kentico中使用aspx作为我的模板。 CMSListMenu是这样的:
<cms:CMSListMenu CssClass="sm sm-blue" ID="main_menu" Path="/%"
runat="server" ClassNames="CMS.MenuItem" />
我希望它返回这样的内容:
<ul class="sm sm-blue" ID="main_menu">
<li>Home</li>
<li>About Us</li>
<li>Products</li>
</ul>
我怎样才能做到这一点?
答案 0 :(得分:1)
我倾向于忽略Kentico中用于列表的内置Web部件。而是使用<cms:CMSRepeater>
和转换。 CMSRepeater
类似于asp.net的<asp:Repeater>
控件,可以访问Kentico CMS树结构。
因此代码中CMSRepeater
的减速效果如下:
<cms:CMSRepeater ClassNames="CMS.MenuItem" Path="/%" runat="server" >
<HeaderTemplate>
<ul class="sm sm-blue" id="main_menu">
</HeaderTemplate>
<ItemTemplate>
<li><%# Eval("DocumentName") %></li> <!-- Or whatever column you need to extract for the title-->
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</cms:CMSRepeater>
或者,如果您在CMS UI中创建CMSRepeater
Web部件,则可以直接在对话框中设置列表页眉/页脚,
并指向文档类型的转换。转换是一个单独的文件,将包含与上面<ItemTemplate>
内的内容相同的范围。