在Magento的一个phtml文件中,我显示了一长串产品,每个产品旁边都有一个复选框。我已经添加了一些代码来分页这个列表。问题是,当我转到第2页时,我需要“记住”在第1页中选择了哪些框,并在我回到第1页时选择它们。我知道如何使用javascript来检测是否选中了复选框或不。我计划在magento会话中保存一系列选定的框 - 在选中更多框时添加它,并在未选中框时删除。但我的会话更改代码是PHP,我的checkbox-detector是javascript。我知道我无法通过javascript调用我的会话更改功能 - 我被告知我需要AJAX来执行此操作。我完全不知道任何AJAX。还有其他办法吗?
如果有人可以帮助我,我很乐意发布我的代码的相关摘要。谢谢!
更新: 好吧,毕竟我决定使用AJAX,而且我已经添加了很多AJAX代码。问题是,它不起作用。顺便说一下,我没有使用jQuery。当我在Magento写这篇文章时:
xmlhttp.open(“POST”,“adjust_session.php”,true); xmlhttp.send(PARAMS);
我需要将adjust_session.php文件放在哪里?如果我将它放在与我的phtml文件相同的文件夹中(我正在调用open函数),它就无法工作。
谢谢!
答案 0 :(得分:0)
你是如何实际进行分页的?如果您必须为服务器进行往返数据的往返,请发送已选中/未选中的列表并在会话中切换。然后,在渲染新页面时,要么直接检查HTML中的框,要么只是将当前选中框的列表作为JS传递,并在响应中解析它。
或者,如果你在一个页面上做所有事情(并且已经使用AJAX进行分页),你也可以在JS中保留一个数组并在渲染后重新检查这些框。
希望有所帮助!
谢谢, 乔