如何使用dsp标记库在ATG中形成“小于或等于”语句?

时间:2013-04-16 09:59:17

标签: atg

我目前正在为ATG的蜂窝网络开发一个电子商务网站。我正在尝试应用“过滤器”来根据显示器尺寸限制手机,分为三类,即

  1. 4英寸以下
  2. 4 - 5英寸
  3. 5英寸以上。
  4. 目前,我只能传递一个像4英寸这样的值,并获得4英寸类别的所有手机。

    -------- ---------代码

    <LI id=menu-item-458
                                                           class="menu-item menu-item-type-custom menu-item-object-custom menu-item-458">
                                                           <dsp:droplet name="/store/commerce/droplets/FilterDroplet" >
                                                           <dsp:param name="filterBy" value="displayScreenDetails"/>
                                                           <dsp:param name="filterConstant" value="4"/>
                                                           <dsp:oparam name="output">
                                                           <p id="4" class="selected">
    <A href="#"onclick="filterItems('displayScreenDetails','4')">* 4-inches(<dsp:valueof param="count"/>)</A></p>`
                                                            </dsp:oparam>
                                                            </dsp:droplet>
                                                        </LI>
    

    它是一个<LI>,用于显示菜单,并将值传递给名为filerItems()的脚本函数

    我想在各自的类别下显示所有手机,而不是确定的数字。帮助我用dsp标记库或java方法形成代码来处理传递的值。 我希望我的问题很清楚。 谢谢。!

2 个答案:

答案 0 :(得分:0)

您需要向FilterDroplet添加另一个请求参数,该参数将采用运算符(例如'equals'或'lessThan'),然后在service方法内调用一个新方法3个参数。假设您目前有一个小方法,需要2个参数(对于'filterBy'和'filterConstant')。

您的输出似乎也有点受限制,因为它假设您只获得1个结果。输出参数上没有循环。

答案 1 :(得分:0)

有很简单的方法和很长的方法可以做到这一点。但我会建议长远来看,这将有助于长远发展。由于您正在使用过滤器,因此使用SKU属性对它们进行分类很重要。希望屏幕大小来自BCC(意思是DB),尝试为SKU对象创建一个字段,以便在初始化期间计算类别。

SKU已经具有您的屏幕尺寸属性,在非存储库SKU对象中创建过滤器字段应该不够难。在页面加载时,传递页面上显示的所有SKU并获取过滤器详细信息,以便稍后在添加其他过滤器项目时有用。

我认为通过创建自定义过滤器映射需要更通用的方法,该映射可用于填充任何属性。