我需要将每个类别的名称添加到body类中。我已经搜索了一种方法来转储template.master文件中的类别名称的变量而没有运气。我可以获取页面名称或元信息,但不能获取类别名称。
所以它会
<body class="mycategory">
我在整个页面上的样式(甚至在entity.category.xml.config之外)都会受到此类的影响。
更新:因此网站上的示例结构将是服装&gt;男士&gt;品牌1&gt;产品1.我想要一个出现在整个服装部分的课程,无论我是在产品,子类别还是子服务类别。
答案 0 :(得分:0)
在主文件中开头:
<body class='body <aspdnsf:XmlPackage runat="server" PackageName="bodyclass" />'>
然后创建一个名为bodyclass.xml.config的xml包。在该文件中添加:
<xsl:if test="/root/Runtime/EntityName and /root/Runtime/EntityID">
<xsl:text> e-</xsl:text>
<xsl:value-of select="/root/Runtime/EntityName" />
<xsl:text>-</xsl:text>
<xsl:value-of select="/root/Runtime/EntityID" />
</xsl:if>
这将创建类别为e-category-53而不是类别名称的类,但它们将为您提供相同的灵活性。它们也适用于其他实体类型,如部门和制造商。
这里另一个有用的是:
<xsl:text> url-</xsl:text>
<xsl:value-of select="translate(aspdnsf:StrReplace(/root/Runtime/PageName, '.aspx', ''), '.', '')" />
这将生成一个基于url的body类,如'url-c-88-sename'。这将适用于所有页面,而不仅仅是实体页面。