顧客がカートに 20 ドルの小計を入れなければならないというカート内の通知を削除しようとしていますが、顧客がチェックアウトしようとするときの制限はまだ必要です (個人的にはそうすべきではないと思います)。通知を削除しますが、注文は上から下に来ます)
現時点では、これは私のコードです
$messages = $this->getMessagesBlock()->getMessages();
unset($messages[1]);
$this->getMessagesBlock()->setMessages($messages);
echo $this->getMessagesBlock()->getGroupedHtml();
私は1つのアイテムでカートに入り、新しい数量が99999999999999のようなばかげたものになったときにカートの更新ボタンを使用してコードをテストしてきました
私が行った var ダンプから、$this->getMessagesBlock()
_messages と呼ばれるデータの保護された価格がありgetMessages()
、2 つのアイテムの配列を返します。1 つはインデックス 0 の数量に関するエラー、もう 1 つは最小購入量に関する通知です。
通知unset($messages[1]);
を削除できるかどうかを確認するためのテストとして通知を削除しようとしましたが、うまくいった場合は、後で修正して通知を検索し、配列のどこにあるかに関係なく削除します。
私setMessages($messages)
は別の変数ダンプを設定して実行しました。元に戻されていることがわかりますので、うまくいく$this->getMessagesBlock()
と思いましたが、何も表示されませんでした
の vardump を実行したところ$this->getMessagesBlock()->getGroupedHtml()
、空の文字列が表示されました
ここで何が間違っているのか、または不要なメッセージを削除するためのより良い方法があるかどうか疑問に思っています