点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,我想更改购物车中订单条目的标准Hybris逻辑。 而不是将它们添加到购物车页面的顶部。 我想将所有新产品添加到购物车页面列表的底部。 与其更改jsp渲染逻辑以使其以不同的顺序循环,不如更改标准逻辑。 负责它的类是 DefaultAbstractOrderService ,我认为方法是 addEntryAtPosition 。 这里正确的方法是什么? 谢谢!
这是代码段。
受保护的int addEntryAtPosition(最终的AbstractOrderModel订单,最终的AbstractOrderEntryModel条目,最终的int请求)
{
int ret =请求;
最终List all = order.getEntries();
/*
*仅追加?
*/
final int lastIndex = all.isEmpty()吗? 0:all.size()-1;
final int lastIndexEntryNumberValue = all.isEmpty()吗? 0:(all.get(lastIndex))。getEntryNumber()。intValue();
如果(要求<0)
{
ret = all.isEmpty()吗? 0:lastIndexEntryNumberValue +1;
}
/*
*需要改组其他条目
*/
其他
{
boolean foundEntryWithNumber = false;
for(int i = 0,s = all.size(); i 我们现在需要移动数字
如果(foundEntryWithNumber)
{
currentEntry.setEntryNumber(Integer.valueOf(enr + 1));
}
//现在找到了吗?
否则,如果(enr ==请求)
{
foundEntryWithNumber = true;
currentEntry.setEntryNumber(Integer.valueOf(currentEntry.getEntryNumber()。intValue()+ 1));
}
//没有其他条目获得此号码->无需转移其他条目号码
否则(enr>请求)
{
打破;
}
}
}
entry.setEntryNumber(Integer.valueOf(ret));
final List newEntries =新的ArrayList (all);
newEntries.add(entry);
Collections.sort(newEntries,新Comparator ()
{
@Override
public int compare(final AbstractOrderEntryModel order1,final AbstractOrderEntryModel order2)
{
返回order1.getEntryNumber()。compareTo(order2.getEntryNumber());
}
});
order.setEntries(newEntries);
返回ret
}
在
CartPopulator
嗨,
如果您需要在前端以其他方式显示条目,我希望更改填充器中的顺序,这样会更容易。
能否请我指出负责该操作的填充器? 我找到了CartParameterPopulator,但是它有不同的职责。
我发现了呈现购物车条目的forEach循环。 如何反转其渲染?
一周热门 更多>