0

我需要将每个类别的名称添加到正文类中。我已经寻找一种方法来转储 template.master 文件中类别名称的变量,但没有成功。我可以获取页面名称或元信息,但不能获取类别名称。

所以它会是 <body class="mycategory">

我在整个页面上的样式(甚至在 entity.category.xml.config 之外)都会受到此类的影响。

更新:所以网站上的示例结构是服装 > 男士 > 品牌 1 > 产品 1。我想要一个显示整个服装部分的类,无论我是在产品、子类别还是子子类别上。

4

1 回答 1

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”。这将适用于所有页面,而不仅仅是实体页面。

于 2015-05-08T16:15:54.997 回答