2

Magentoで、現在ログインしているユーザーのウィッシュリストアイテムを削除または削除したい。現在、チェックボックスを有効にしてウィッシュリストアイテムを選択し、Mage :: getModel('wishlist / item')-> load($ id)-> delete()を使用してそれらを削除しています。私が使用したコードスニペットは以下に貼り付けられています。[送信]ボタンをクリックすると、アイテムは削除されますが、ページを再度更新した場合にのみ効果が表示されます。問題は、削除されたアイテムを表示するためにページを強制的に更新する必要があることです。誰かが私に適切な解決策を提案できますか?それはありがたいです。

注:チェックボックスをオンにすると、wishlist-itemidがその値フィールドに次のように割り当てられます。

value = $ item-> getWishlistItemId()

フォーム送信後、次のコードが実行されます

    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

3 に答える 3

1

私の理解が正しければ、特定のユーザーに関連付けられたすべてのウィッシュリスト アイテムを削除しますか? ...

$customerId = 1; // Replace with the customer id you are targetting

$itemCollection = Mage::getModel('wishlist/item')->getCollection()
    ->addCustomerIdFilter($customerId);

foreach($itemCollection as $item) {
    $item->delete();
}
于 2012-08-03T07:07:54.390 に答える