“伟大的”Miva论坛禁止我注册并问这个问题。不知道这里有没有人能帮我.
在类别页面上,我需要在基于最佳销售者、新版本等的列中显示产品。有用子类别设置的类别。产品被分配到一个类别,也可能是一个子类别。
合唱
声乐
所有父类别的名称都是一个单词,它们的子类别添加了两个单词。类别页面将显示父类别中的所有产品,我只想过滤列中每一列中的内容。我试图将添加的两个单词与一个表达式进行比较,将其与子类别名称的一部分进行比较。这样,无论您在哪个父类别中,都可以使用相同的代码。这似乎是非常基本的东西,但不起作用。
示例非工作代码:
<div class="row">
<h2>Best Sellers</h2>
<mvt:foreach iterator="product" array="products">
<mvt:if expr="'Best '$'Sellers' IN g.category:name">
product display stuff here
</mvt:if>
</mvt:foreach>
</div>
<div class="row">
<h2>New Releases</h2>
<mvt:foreach iterator="product" array="products">
<mvt:if expr="'New '$'Releases' IN g.category:name">
product display stuff here
</mvt:if>
</mvt:foreach>
</div>发布于 2012-06-07 15:02:52
如果您还没有,您可能需要选择PCI网络工具带。这是雷·耶茨写的,而且有很好的记录。这是一个Miva商业语言扩展模块,它将使您很好地访问Miva商人,而SMT不会(默认情况下)。
您遇到的问题是,您正在查看一个不存在的变量。你的“范围”关闭了。变量g.category_code保存全局变量上下文中的类别代码(我认为您可能混淆了g.category:name )。您需要查看局部变量上下文。
你的<mvt:foreach>看起来很好。
尝试从以下位置更改代码:
<mvt:if expr="'Best '$'Sellers' IN g.category:name">至:
<mvt:if expr="'Best '$'Sellers' IN l.settings:category:name">甚至:
<mvt:if expr="'Best Sellers' IN l.settings:category:name">这样你就不用做不必要的级联了。;)
发布于 2015-03-02 05:45:36
派对有点晚了,但我只是在研究如何做到这一点,并最终使用了Emporium Plus工具包。
<mvt:item name="toolkit" param="sassign|bestSellerCategory|best-sellers" />
<mvt:item name="toolkit" param="cxpc|pcount|g.bestSellerCategory" />用你的分类代码替换畅销书。在此之后,您可以使用常规的foreach来迭代这些产品。
<mvt:foreach iterator="sub_product" array="sub_products">
<a href="/&mvte:sub_product:code;.html">&mvte:sub_product:name;</a>
</mvt:foreach>重复在一个页面上需要显示的类别。
https://stackoverflow.com/questions/10934163
复制相似问题