我在模板/模块/latest.tpl 中有以下代码
<?php foreach ($products as $product) {
}
?>
此代码显示所有产品,但我想显示类别 id 63 的产品。
请有人指导我。谢谢
我在模板/模块/latest.tpl 中有以下代码
<?php foreach ($products as $product) {
}
?>
此代码显示所有产品,但我想显示类别 id 63 的产品。
请有人指导我。谢谢
我希望你已经明白这个问题是完全错误的。
基本上你想按 .TPL 中的类别 ID 排序!!!虽然是可能的,但不是正确的方法。
“OpenCart 的设计遵循 MVC 设计模式。MVC(模型视图控制器)的组件可以分解如下。”
M - 模型 这是您将直接与数据库交互的地方,将数据提取出来并将其重组为适合您前端的格式。这通常主要由数据库查询组成,仅此而已。如果您习惯于编写 mySQL 查询,那么您会喜欢 OpenCart 提供的访问方式以继续执行此操作。OpenCart 不使用 ORM,但允许您编写直接的数据库查询。
V - 查看(您正在使用什么)。这是 MVC 模式的显示面。M 和 C的想法是尽可能多地从视图中提取逻辑,这意味着更简单的模板。为了重新设计您的整个商店,您只需修改 View 组件,M、C 和 L 将保持不变。OpenCart 中的视图文件具有.tpl后缀。
C - Controller 在这里,您将从Model 中提取数据,与您的安装或模块一起保存的任何配置设置,然后通过选择适当的视图文件来呈现它。
看到我放在 BOLD 中的内容应该会给你这个想法。如果还是不明白,试着理解这句话写得不好:
“模型是从数据库中获取信息,控制器是负责将数据放在适当的变量中的人,而视图负责......视图。基本上视图应该只是呈现从模型中获得的控制器中的准备数据”。
来源:http ://docs.opencart.com/display/opencart/Introduction+to+MVC-L
现在,为了解决你的问题,我会给你一个建议
在控制器/目录/x.php 中添加一个函数,
$data = array(
'filter_category_id' => $selected_category
);
$results = $this->model_catalog_product->getProducts($data);
这应该可以解决问题。告诉我是否工作。