在Magento中,我想移除或删除当前登录用户的愿望清单项目。目前我通过启用复选框来选择愿望清单项目,然后使用Mage::getModel('wishlist/item')-〉load($id)-〉delete()来删除它们。我使用的代码片段粘贴在下面。当我点击提交按钮时,项目被删除,但效果只有在我再次刷新页面时才能看到。问题是我需要强制刷新页面才能看到删除的项目。有人能给我建议任何合适的解决方案吗?非常感谢。
注:选中复选框后,将为其值字段分配wishlist-item id,如下所示:
值= $item-〉获取愿望清单项目ID()
表单提交后,将执行以下代码
if(isset($_POST['wishlist'])) // wishlist is name of check box.
{
$checkboxes = $_POST['wishlist'];
foreach ($checkboxes as $id):
$bulk = $_COOKIE["bulkaction"];
if($bulk == "Remove"):
Mage::getModel('wishlist/item')->load($id)->delete(); // $id contains the wishlist item id.
$url = $this->getBaseUrl().'wishlist';
header("refresh:0.0000000000001;", $url);
endif;
endforeach;
}
4条答案
按热度按时间kkih6yb81#
如果我没理解错的话,你想删除与特定用户相关的所有愿望清单项目?...
z31licg02#
Drew的答案肯定会从数据库中删除项目。但是,如果您想从“当前”集合中删除项目,则应使用Varien_Data_Collection::removeItemByKey()
但请注意,有时(当在代码中的不同位置单独访问集合时),它可能看起来不起作用。
7kjnsjlb3#
您可以使用
wb1gzix04#
试试这个,
希望这能帮上忙谢谢。