4

Opencart1.5.4で追加のページとカテゴリのレイアウトを設定しようとしています。

新しいカテゴリのルートをアドレスバーに入力すると、新しいテンプレートが希望どおりに表示される段階になりましたが、そのルート変更をOCに登録できないようです。

.htaccessファイルで変更を指定すると、新しいテンプレートが期待どおりに読み込まれますが、これは問題に対する正しい答えではありません(ただし、機能します)。

.htaccessへの追加(正しい方法ではないと思います)

RewriteRule ^skis$ index.php?route=product/categories&path=1  [L,QSA]

2つの新しいファイルを作成しました

/catalog/view/theme/default/template/product/categories.tpl
/catalog/controller/product/categories.php

/catalog/controller/product/categories.phpで、新しいtplファイルを反映するようにコンテンツを変更しました。

class Controllerproductcategories extends Controller {

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/categories.tpl')) {
 $this->template = $this->config->get('config_template') . '/template/product/categories.tpl';
} else {
 $this->template = 'default/template/product/categories.tpl';
}

要約すると

  1. .htaccessファイルで書き換えを指定すると、レイアウトが読み込まれますが、指定しないと読み込まれません。
  2. OCに新しいレイアウトを追加し、カテゴリに対して選択しましたここに画像の説明を入力してくださいここに画像の説明を入力してください

誰かが私がこれを正しく機能させるために試みるかもしれないアイデアを持っていますか?商品、カテゴリ、情報ページ用に作成するテンプレートがたくさんあるので、これを正しく行いたいと思います。

事前にTx

Stu

4

2 に答える 2

5

私は最終的にこのアプローチを選びました..他の誰かを助けるかもしれません。

if ($this->data['heading_title'] == "Skis") {

    $this->template = $this->config->get('config_template') . '/template/product/categories.tpl';

} elseif ($this->data['heading_title'] == "Softgoods") {

    $this->template = $this->config->get('config_template') . '/template/product/category.tpl';

} elseif ($this->data['heading_title'] == "Outlet Store") {

    $this->template = $this->config->get('config_template') . '/template/product/category.tpl';

} else {

    $this->template = $this->config->get('config_template') . '/template/product/category.tpl';

}
于 2012-11-30T10:10:10.097 に答える
2

私が見ることができることから、あなたは個々のテンプレートをハードコーディングしようとしていますが、カテゴリのレイアウトを使用して選択した方法では実際には機能しません。レイアウトは、テンプレートを指定するのではなく、ページにコンテンツを配置するように設計されています

私は実際にあなたが達成しようとしていることの商用バージョンを作成しました。これはここにあります。テンプレートを作成して、1つ以上のページに割り当てることができます。製品、カテゴリ、メーカー、情報ページで機能します。また、カテゴリ全体またはメーカーの製品のテンプレートを指定することもできます

于 2012-11-30T00:24:40.520 に答える