Ubercart 製品のテンプレートを変更したいです。より詳細には、各価格の前に「From...」というラベルを追加したいと考えています。しかし、それを行うためのテンプレートが見つかりません。
私もテーマ開発者モジュールを使用していますが、これは私が得たものです:
zen_uc_product_price < phptemplate_uc_product_price < theme_uc_product_price
しかし、そのようなファイルが見つかりません。
ありがとう
価格にプレフィックスまたはサフィックスを追加するには、/admin/store/settings/store/edit/format に移動します。
node-product.tpl.php ファイルを作成することもできます。その場合、これが価格を取得する方法です。
<?php
$context = array(
'type' => 'product',
'revision' => 'altered', // using altered to get the bare price with no themeing
'field' => 'sell_price',
'subject' => array('node' => $node)
);
$dp = uc_price($node->sell_price, $context);
$context['field'] = 'list_price';
$lp = uc_price($node->list_price, $context);
?>
<div class="price clear-block <?php if($dp != $lp) print 'discounted'; ?>">
<?php print 'From: ' . $node->content['display_price']['#value']; ?>
<?php //print $node->content['list_price']['#value']; ?>
</div>
これは本来あるべきよりも少し多くなりました: Use: content['display_price']['#value']; ?>
割引価格をテーマにしたい場合を除きます:-)
私のプロジェクトの1つからコピーしただけです。
最後: おそらく theme_uc_product_price を使用できます: template.php に関数を追加します (uc_product.module からデフォルトの実装に貼り付けます)
function zen_uc_product_price($price, $context, $options = array()) {
$output = '<div class="product-info '. implode(' ', (array)$context['class']) .'">';
$output .= uc_price($price, $context, $options);
$output .= '</div>';
return $output;
}
「差出人」部分をいつ追加するかについて、$context 変数を調べます。