我在OpenCart中使用Shoppica主题。我想对类别页面进行修改。它给出了描述(我在后端输入)而不是产品列表。
在category.tpl中它说:
<?php if ($description) echo $description; ?>
但是我想要一个额外的描述,让我们称它为description2。这应该在产品清单之后。 在PhpMyAdmin中,我在* oc_category_description *中添加了另一行,并将其称为description2 手动(所以在PhpMyAdmin中)我用文字填充了这个。
现在我将以下内容放在category.tpl文件中:
<?php if ($description2) echo $description2; ?>
但现在我收到一个错误:
未定义的变量:description2 in /home/.../public_html/catalog/view/theme/shoppica2/template/product/category.tpl 在第187行
任何想法,我做错了什么。我是否需要在其他地方声明它(在另一个文件中?在哪里?)
答案 0 :(得分:3)
需要了解内置OpenCart的MVC模式。
简要说明 - 你有一个与数据库交互的Model类,一个在上面运行的Controller类,它调用Model方法(数据检索,数据更新,数据插入),并在视图处理时将输出传递给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'] = ...;
开头的行并在此处添加您的新字段,例如{ {1}}。
希望这会有所帮助。