2010-07-10 137 views
0

我想更改我的Ubercart產品的模板。更詳細地說,我想在每個價格前添加「From ...」標籤。但是我找不到要執行的模板。Drupal,Ubercart,產品模板(價格模板)

我還使用主題開發模塊,這就是我得到:

zen_uc_product_price < phptemplate_uc_product_price < theme_uc_product_price

但我無法找到這些文件。

感謝

回答

0

你也可以做一個節點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」] [「#值」]; ?>

除非你想主題優惠價格:-)

單從我的項目之一複製出來。

末:你大概可以使用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; 
} 

檢查的時添加了「從」 $上下文變量增加一個功能部分

+0

這裏是一個教程主題產品頁面: http://www.ubercart.org/forum/development/3868/nifty_products_tutorial_part_1,只是不使用uc_currency格式,uc_price是正確的方式來做到這一點,特別是如果您使用價格處理程序,如多價格模塊和uc_vat – Tom 2010-07-11 10:03:41

0

要添加前綴或後綴的價格,你可以去 /管理/存儲/設置/存儲/編輯/格式

+0

究竟是哪裏?這就是我所擁有的:http://dl.dropbox.com/u/72686/price.png。如果你的意思是「當前簽名」字段,這是行不通的,因爲它替換貨幣符號,我只想在它之前加上「From:」 – aneuryzm 2010-07-10 19:58:41

+0

您只需在貨幣符號字段中輸入「From:£」 – Tom 2010-07-11 09:24:16

+0

I c annot做到這一點,因爲我使用多貨幣自定義模塊來處理歐元和英鎊。而且我也不想在購物車中顯示「發件人」。有沒有我可以編輯的任何產品的PHP模板? – aneuryzm 2010-07-11 09:29:51