Drupal,Ubercart,产品模板(价格模板)

时间:2010-07-10 10:37:19

标签: drupal drupal-6 ubercart

我想更改Ubercart产品的模板。更详细的说,我想在每个价格前添加标签“From ...”。但我找不到模板来做到这一点。

我也在使用主题开发者模块,这就是我得到的:

  

zen_uc_product_price<   phptemplate_uc_product_price<   theme_uc_product_price

但我找不到这样的文件。

感谢

2 个答案:

答案 0 :(得分:0)

要在价格中添加前缀或后缀,您可以转到 /管理/存储/设置/存储/编辑/格式

答案 1 :(得分:0)

您还可以创建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>

这变得比它应该更多: 使用:         内容[ 'DISPLAY_PRICE'] [ '#值']; ?&GT;

除非您想要主题折扣价: - )

刚从我的一个项目中复制过来。

最后:您可以使用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变量,了解何时添加“From”部分。