Maybe I'm crazy for it, but I am trying to develop a page like this: http://demo.dnnrox.com/flatna2/Pages/OurTeam.aspx (I am using a modified version of the Flatna2 skin) using the DDR menu system. (I know there are better ways to make user directories, but we don't want to use our DNN user database due to some issues currently going on with it...plus we really like this Flatna2 team directory look.) Every team member will have his/her own page with a bio, and I want the "Follow on ___" links that appear when you hover over the person's pic to link to that instead. I am using the keywords field of each page to put the team member's job title. (I have removed the social media icons as we won't need those.)
Every team member's page is housed beneath a parent page that represents his/her department. And I want to set up each department as an "accordion" like this: http://demo.dnnrox.com/flatna2/Elements/AccordionsToggles.aspx
(Sorry I can't just link you to my actual website; it's on a testing server not accessible to the www.)
So basically, the first level of nodes need to be accordions, and the next level of nodes need to be team members.
I'm pretty new to XSLT. Something is wrong, because it's throwing this error:
Error: DDR Menu is currently unavailable. DotNetNuke.Services.Exceptions.ModuleLoadException: Couldn't load menu style 'RCUstafflisting': System.ApplicationException: Can't find processor for manifest D:\Web\DNN\DesktopModules\DDRMenu\RCUstafflisting\menudef.xml at DotNetNuke.Web.DDRMenu.TemplateEngine.TemplateDefinition.FromManifest(String manifestUrl) at DotNetNuke.Web.DDRMenu.MenuBase.Instantiate(String menuStyle) ---> System.ApplicationException: Couldn't load menu style 'RCUstafflisting': System.ApplicationException: Can't find processor for manifest D:\Web\DNN\DesktopModules\DDRMenu\RCUstafflisting\menudef.xml at DotNetNuke.Web.DDRMenu.TemplateEngine.TemplateDefinition.FromManifest(String manifestUrl) at DotNetNuke.Web.DDRMenu.MenuBase.Instantiate(String menuStyle) at DotNetNuke.Web.DDRMenu.MenuBase.Instantiate(String menuStyle) at DotNetNuke.Web.DDRMenu.MenuView.OnPreRender(EventArgs e) --- End of inner exception stack trace ---
Here is my XSLT code. I modified it from a working DDR menu template:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/*">
<xsl:apply-templates select="Root" />
</xsl:template>
<xsl:template match="Root">
<xsl:apply-templates select="node" mode="TopLevel" />
</xsl:template>
<xsl:template match="node" mode="TopLevel">
<div>
<xsl:attribute name="class">
<xsl:text>panel-group</xsl:text>
</xsl:attribute>
<xsl:attribute name="id">
<xsl:text>accordion</xsl:text>
</xsl:attribute>
<div>
<xsl:attribute name="class">
<xsl:text>panel panel-default</xsl:text>
</xsl:attribute>
<div>
<xsl:attribute name="class">
<xsl:text>panel-heading</xsl:text>
</xsl:attribute>
<h4>
<xsl:attribute name="class">
<xsl:text>panel-title</xsl:text>
</xsl:attribute>
<a>
<xsl:attribute name="class">
<xsl:text>accordion-toggle</xsl:text>
</xsl:attribute>
<xsl:attribute name="data-toggle">
<xsl:text>collapse</xsl:text>
</xsl:attribute>
<xsl:attribute name="data-parent">
<xsl:text>#accordion</xsl:text>
</xsl:attribute>
<xsl:attribute name="href">
<xsl:text>#collapseOne</xsl:text>
</xsl:attribute>
<xsl:value-of select="@text" />
</a>
</h4>
</div>
<div>
<xsl:attribute name="id">
<xsl:text>collapseOne</xsl:text>
</xsl:attribute>
<xsl:attribute name="class">
<xsl:text>panel-collapse collapse</xsl:text>
<div class="panel-body">
<xsl:if test="node">
<xsl:apply-templates select="node" />
</xsl:if>
</div>
</div>
</div>
</xsl:template>
<xsl:template match="node">
<div>
<xsl:attribute name="class">
<xsl:text>team-members text-center</xsl>
</xsl:attribute>
<ul>
<xsl:attribute name="class">
<xsl:text>ch-grid</xsl:text>
</xsl:attribute>
<li>
<div>
<xsl:attribute name="class">
<xsl:text>ch-item ch-img-1</xsl:text>
</xsl:attribute>
<div>
<xsl:attribute name="class">
<xsl:text>ch-info</xsl:text>
</xsl:attribute>
<h3><xsl:value-of select="@text" /></h3>
<p><xsl:value-of select="keywords" />
<a>
<xsl:attribute name="href">
{@url}
</xsl:attribute>
<xsl:text>
Read Bio
</xsl:text>
</a>
</p>
</div>
</div>
</li>
</ul>
<div>
<xsl:attribute name="class">
<xsl:text>box arrow</xsl:text>
</xsl:attribute>
<h4><xsl:value-of select="@text" /></h4>
<p>xsl:value-of select="keywords" /></p>
</div>
</div>
</xsl:template>
</xsl:stylesheet?>
(I realize will have to make the CSS classes dynamic to show different staff members, and the accordions to open right, but one thing at a time...)
And since the error says something about the manifest, here is menudef.xml:
<?xml version="1.0" encoding="utf-8" ?>
<manifest>
<template>RCUstafflisting.xslt</template>
<stylesheets>
<stylesheet>[MANIFEST]/RCUstafflisting.css</stylesheet>
</stylesheets>
<defaultTemplateArguments>
<templateArgument name="CSSClass" value="RCUstafflisting" />
</defaultTemplateArguments>
</manifest>
Thanks!