2

商品説明ページに通貨一覧を表示したいのですが。どうやってやるの?

header.tpl()からコードをコピーしてproduct.tplに貼り付けましたが、エラーが発生します。

注意:未定義の変数:60行目のC:\ xampp \ htdocs \ mysite.com \ catalog \ view \ theme \ mytheme \ template \ product\product.tplの通貨。

product.tplに次のコードを追加してみました。

<?php include(DIR_APPLICATION.'\view\theme\mytheme\template\module\currency.tpl');

しかし、それもうまくいきませんでした。これを機能させたいので助けてください。

4

5 に答える 5

3

controller/common/header.php 関数 index() を以下に追加:

     $this->data['mygetcurrency'] = $this->currency->getCode();

catalog\view\theme\default\template\common\header.tpl に追加:

      <?php echo $mygetcurrency; ?>
      //EUR
于 2014-10-29T09:07:39.537 に答える
1

最善はこのようにすることです

$this->load->model('localisation/currency');
$this->data['allcurrencies'] = array();
$results = $this->model_localisation_currency->getCurrencies();   
foreach ($results as $result) {
     if ($result['status']) {
           $this->data['allcurrencies'][] = array(
           'title'        => $result['title'],
           'code'         => $result['code'],
           'symbol_left'  => $result['symbol_left'],
           'symbol_right' => $result['symbol_right']            
        );
     }
 }

ありがとう

于 2012-12-13T16:51:27.287 に答える
0

$currency 変数は /catalog/controller/module/currency.php コントローラーによって構築され、通常は /catalog/controller/common/header.php ($this->children 配列を使用) によって呼び出されます。

この要素を製品テンプレートに表示するには、製品コントローラー (/catalog/controller/product/product.php) の $this->children 配列を使用して、このコントローラー (およびそのビュー) を呼び出す必要があります。opencart 1.5.4.1 では 362 行目あたり

$this->children = array(
    'common/column_left',
    'common/column_right',
    'common/content_top',
    'common/content_bottom',
    'common/footer',
    'common/header',
    'module/currency' // Just add this line
);

残念ながら、この要素のスタイルは絶対配置に設定されているため、デフォルトで通貨要素がページの上部に表示されます。/catalog/view/theme/*/template/module/currency.tpl を編集して、HTML と CSS をもう少し柔軟にする必要があります。

于 2012-10-18T07:06:12.573 に答える