2012-01-11 22 views
2

私は、衣料品用のカスタム刺繍オプションを持つMagentoストアで作業しています。ただし、刺繍オプションは必須ではありません。ただし、刺繍オプションを選択すると、名前やフォントなど、必要になるオプションがいくつかあります。Magentoのオプションでis_requireフラグを動的に設定/解除するにはどうすればよいですか?

「刺繍を追加」するチェックボックスが過負荷にチェックアウト/ CartController.phpでこのコードを使用して、その後にチェックし、されなかった場合、刺繍オプションフィールドを削除するにはJavaScriptを使用して:

/* Options #23-40 are the embroidery details */ 

foreach($product->getOptions() as $_option){ 
    if($_option->option_id >= 23 && $_option->option_id <= 40){ 
     $_option->setIsRequire(false); 
    } 
} 

このALMOSTしかしとき、トリックをしました私はカートのページを見ると、トップにこのエラーがあります:

"下の製品のいくつかはhaすべての必要なオプションを選択します。それらを編集して必要なオプションをすべて設定してください」

別のアプローチを提案しても、正しいトラックにいるかどうかを少なくとも教えてもらえますか?これを達成するために別のモジュールを購入するのは興味がありません。

ありがとう!

答えて

0

簡単に「ハック」彼らが必要としますが、あなたのjavascriptの入力フィールドに「必要な」CSSクラスを追加しないことであろう。これは、あなたがクリックしたときにMagentoのは、文句を言うようになります「追加しますカートに入れるボタンをクリックしてください。

+0

ありがとうJanus - それはまさに私がやったことです! –

関連する問題