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