Help shape the future of CMS PaaS release notes! Take this quick survey and share your feedback.
Help shape the future of CMS PaaS release notes! Take this quick survey and share your feedback.
<EPiServer:PageTree id="siteMapPageTree" NumberOfLevels="5" ExpandAll="true" EnableVisibleInMenu="true" PageLink="3" runat="server">
<IndentTemplate>
<ul class="SiteMap">
</IndentTemplate>
<ItemHeaderTemplate>
<li>
</ItemHeaderTemplate>
<ItemTemplate>
<EPiServer:Property PropertyName="PageLink" runat="server" />
</ItemTemplate>
<ItemFooterTemplate>
</li>
</ItemFooterTemplate>
<UnindentTemplate>
</ul>
</UnindentTemplate>
</EPiServer:PageTree>
The column handling is done with css:
<style>
ul.SiteMap
{
margin: 0;
}
ul.SiteMap li
{
float: left;
width: 24%;
margin: 0 1% 0 0;
list-style: none;
}
ul.SiteMap ul
{
margin-left: 10px;
padding-left: 10px;
border-left: 1px solid #ccc;
}
ul.SiteMap li ul li
{
float: none;
width: 100%;
}
</style>
The width attribute of "ul.SiteMap li", that is 24%, makes it a four column. How this style will work for you is of course dependent on how your other css are built. But I hope you understand the idea.
/Hans
Hi hans,
I tryed to put in a "NumberOfLevels" attribute in the page tree but that inly works wor Episerver 4.x code. I ended up using a function inside the Ordered (SortOrder)pagetree determining witch PageName I was under (CurrentPage.PageName) and from there adding a TD tag if I wanted a new column or not according to the following code:
<table border="0px" cellpadding="0px" cellspacing="50px">
<tr>
<td align="left">
<EPiServer:PageTree runat="server" SortOrder="Index" ExpandAll="true" ID="SiteMapTree" PageLink="<%# StartPoint %>">
<HeaderTemplate>
</HeaderTemplate>
<IndentTemplate>
<ul>
</IndentTemplate>
<ItemHeaderTemplate>
<li>
</ItemHeaderTemplate>
<ItemTemplate>
<EPiServer:Property ID="Property1" PropertyName="PageLink" runat="server" class="sitemap" />
</ItemTemplate>
<ItemFooterTemplate>
</li>
</ItemFooterTemplate>
<UnindentTemplate>
</ul>
<%# functionTD(Container.DataItem,true) %>
</UnindentTemplate>
<FooterTemplate>
</FooterTemplate>
</EPiServer:PageTree>
</td>
</tr>
</table>
Code behind for the function:
public string functionTD(object e,bool start)
{
PageData p = (PageData)e;
if (p.PageName.Equals("XXPage") && start)
return "<td align='left' valign='top'><ul>";
return "<ul>";
}
Not the ideal solution but it worked for me.
Thanks for the help
Diego
What's the easiest way to build a Sitemap in CMS5, similar to the Sitemap Control i EPiServer 4 with multiple column support?
/Jonas