0

我将 Shoppica 主题与 OpenCart 一起使用。我想对分类页面进行修改。它提供了描述(我在后端输入),然后是产品列表。

在 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 类,并在 View 处理时将输出传递给 brwoser(应该是另一个类,但 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 回答