Posts
265
Comments
80
Trackbacks
4
CMS QualiSite: Bereichsnavigation

Im CMS Qualisite lässt sich die Navigation in das Layout-Template per User-Controls einbinden. Hier ein Beispiel für eine Navigation mit 2 Ebenen, falls es zu einem Menüpunkt eine 2te Menüebene gibt, dann wird diese angezeigt:

<%

@ Control Language="c#" %>
<%
@ import Namespace="PGK.Qualisite.Application.Site" %>
<%
@ import Namespace="PGK.Qualisite.Application" %>

<

script runat="server">

void Page_Load(object sender, System.EventArgs e) {
   if(CmsContext.Current.Page.Navigation != null) {
      
this.RP_SubNav.DataSource = CmsContext.Current.Page.Navigation.GetHierarchyByLevel(1);
      this.RP_SubNav.DataBind();
   }
}

void RP_SubSubNav_PreRender(object sender, EventArgs e) {
   Repeater rp = (Repeater) sender;
   rp.Visible = (rp.Items.Count > 0);
}

</

script>

<asp:Repeater id="RP_SubNav" Runat="server">
<ItemTemplate>

<a href='<%# ((NavigationItem) Container.DataItem).GetLinkRecursive().ToString() %>' target='<%# ((NavigationItem) Container.DataItem).GetLinkRecursive().ToString("{1}") %>'>&gt; <%# ((NavigationItem) Container.DataItem).Title %></a>

<br />

<asp:Repeater Runat="server" DataSource='<%# (((NavigationItem) Container.DataItem).IsInActiveHierarchy() ? CmsContext.Current.Page.Navigation.GetHierarchyByLevel(2) : null ) %>' OnPreRender="RP_SubSubNav_PreRender">

<ItemTemplate>

<a href='<%# ((NavigationItem) Container.DataItem).GetLinkRecursive().ToString() %>' target='<%# ((NavigationItem) Container.DataItem).GetLinkRecursive().ToString("{1}") %>'>&gt; <%# ((NavigationItem) Container.DataItem).Title %></a>

<br />

</ItemTemplate>

</asp:Repeater>

</ItemTemplate>

</

asp:Repeater>


Mit geeigentem HTML-Code und Style-Sheets lässt sich die Navigation jedem Layout anpassen.

 

posted on Monday, June 26, 2006 12:27 PM Print
Comments
No comments posted yet.

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 1 and 8 and type the answer here: