0

お粗末な質問で申し訳ありませんが、どこから始めればよいかわかりません。

基本的に、名前に 15 個のカスタム オプション、T シャツのサイズに 15 個、T シャツの番号に 15 個のカスタム オプションを使用する製品テンプレートがあります。

jquery を使用すると、製品の数量に基づくパーソナライゼーションでオプションが非表示になります。次に、サイズにデフォルトの * または none を設定します。

唯一の問題は、顧客の注文がメールと顧客の注文で 3 T シャツと言う場合、選択していないオプションの長いリストが表示されることです。

* または none に等しい場合にオプションを除外する方法があるかどうか疑問に思っていました。

ここに画像の説明を入力

以下で解決

    <?php
$optionvalue = $option['value'];
$array = array('None','*');
if(!in_array($optionvalue,$array)){
     echo $option['label'];
} 
?>

<?php
$optionvalue = $option['value'];
$array = array('None','*');
if(!in_array($optionvalue,$array)){
     echo (isset($option['print_value']) ? $option['print_value'] : nl2br($this->escapeHtml($option['value'])));
} 
?>
4

2 に答える 2

0

これは可能です。

メールのテンプレートを変更する必要があります。

ベースのものはここにあります:

magento\app\design\frontend\base\default\template\email\order\items\order\

これは注文用のものです。請求書、発送、クレジットメモを忘れないでください。

<?php foreach ($this->getItemOptions() as $option): ?>
        <dt><strong><em><?php echo $option['label'] ?></em></strong></dt>
        <dd style="margin:0; padding:0 0 0 9px;">
            <?php echo (isset($option['print_value']) ? $option['print_value'] : nl2br($this->escapeHtml($option['value']))) ?>
        </dd>
        <?php endforeach; ?>

$option['value']またはにコントロールを追加するだけです$option['print_value']

おそらく、pdf で同じ動作をするための Pdf 関数も変更が必要になるでしょう。

もちろん、ネイティブのコア機能であるため、コードを直接変更するのではなく、モジュールを作成して拡張し、置き換えます。

于 2013-07-25T20:25:08.963 に答える