2

こんにちは、opencart の初心者です。product.tpl にコードがあります。オプション ボックスの選択で「価格」を削除したい... オプション ボックスで「価格」を削除すると、価格計算に影響します。つまり、header.tpl の finalpricevalue

解決策が欲しい

  1. オプション ボックスの「価格」を非表示にする (または)
  2. オプションボックスの「価格」の色を変更する (OR)
  3. product.tpl の「price」を削除し、header.tpl の「finalpricevalue」に値を割り当てます

product.tpl---->

<select name="option[<?php echo $option['product_option_id']; ?>]" width="300"style="width:200px">
<option value=""><?php echo $text_select; ?></option>

<?php foreach ($option['option_value'] as $option_value) { ?>

<option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>

<?php if ($option_value['price']) { ?>

(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
<?php } ?> 

</option>
<?php } ?>
</select>

header.tpl----->

var position1 = newPriceValue.indexOf("(");
var position2 = newPriceValue.indexOf(")");
position1 = position1+3;
var **finalPriceValue** = newPriceValue.substring(position1, position2);
var txt = newPriceValue;
txt = txt.replace(/,/g, '');
array=txt.match(/(?!$)\d+(\.\d+)/g);

私を助けてください......

4

1 に答える 1

0

product.tplには$option_value['price']、製品で使用できるさまざまなタイプのオプションに相関するいくつかのインスタンスがあります。最初にバックアップ用にproduct.tplのコピーを作成し、次に次の各インスタンスのproduct.tplを検索して価格を「非表示」にします。

    <?php if ($option_value['price']) { ?>
    (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
    <?php } ?>

次のようなhtmlコメントで囲みます。

    <!--
    <?php if ($option_value['price']) { ?>
    (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
    <?php } ?>  
    -->   

これは、ヘッダーの合計には影響しません。これは、次の意味であると私が想定していることです。

オプションボックスの「価格」を削除すると、価格計算に影響します

  1. 価格の色を変更するには; 同じコードブロックを見つけて、次のようにします。

    <?php if ($option_value['price']) { ?>
    <span class="price_color">(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)</span>
    <?php } ?>
    

次に、/ catalog / view / theme / your_theme / stylesheet / stylesheet.cssのバックアップコピーを作成し、以下を追加します。

    .price_color {color: #000000} 

またはあなたがそれをしたいどんな色でも。スタイリングのためにスパンで囲むだけです。あなたがやろうとしていることをするためのより良い方法があるかもしれません。スタイリングを新しいcssに入れて、テンプレートを更新するときに自分のものでない場合に上書きされないようにすることができます。

于 2012-12-05T00:21:53.543 に答える