0

OpenCart で Shoppica テーマを使用しています。カテゴリーページを修正したいのですが。説明 (バックエンドで入力したもの) が表示され、製品のリストが続きます。

category.tpl には次のように書かれています。

<?php if ($description) echo $description; ?>

しかし、追加の説明が欲しいので、description2 としましょう。これは、製品のリストの後に来る必要があります。PhpMyAdmin では、*oc_category_description* に別の行を追加し、description2 という名前を手動で付けました (PhpMyAdmin では)、これにテキストを入力しました。

ここで、category.tpl ファイルに以下を配置しました。

<?php if ($description2) echo $description2; ?>

しかし今、私はエラーを受け取ります:

未定義変数: 187 行目の /home/.../public_html/catalog/view/theme/shoppica2/template/product/category.tpl の description2

どんな考えでも、私が間違ったこと。別の場所で宣言する必要がありますか (別のファイルで? どこで?)

4

1 に答える 1

3

OpenCart に組み込まれている MVC パターンの理解が必要です。

簡単に言えば、データベースと対話する Model クラス、上記で動作し、Model メソッド (データの取得、データの更新、データの挿入) を呼び出す Controller クラスがあり、ビューによって処理されている間に出力をブラウザーに渡します (別のクラスですが、OpenCart には MC (テンプレート ファイルを含むモデル コントローラー部分) のようなものしかありません)。

したがって、あなたの問題:具体的なカテゴリデータを取得するためにcatalog/model/catalog/category.php呼び出されるメソッドを変更して探す必要があります。getCategoryここで選択クエリは次のようになりますselect * from ...-そうであればすべて問題ありませんが、そうであれば、select category_id, category_description, ... from ...ここにも新しいフィールドを追加する必要があります(申し訳ありませんが、OpenCart からの SQL クエリを覚えていません)。

さらに を編集してcatalog/controller/product/category.php、カテゴリ データが制御されている部分 (カテゴリ モデルが呼び出されます) を探すか、 で始まる行を探して、$this->data['description'] = ...;ここに新しいフィールドを追加し$this->data['description2'] = ...;ます。

これが役立つことを願っています。

于 2012-11-15T16:48:13.830 に答える