Posts
391
Comments
137
Trackbacks
0
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>

</


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

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

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 3 and 4 and type the answer here: