如何在opencart中仅显示已启用的过滤器?

时间:2017-03-16 09:21:22

标签: php json opencart opencart-module

我是新手,打开购物车,并试图在Android平台上集成一些来自opencart网站的数据。我需要实现过滤器,只需要显示从管理面板中选中“启用电话”选项的过滤器。 在触发查询以获取过滤器列表时,我以不正确的JSON格式从模块中获取一些数据。现在我无法找到一种方法来仅列出已启用的过滤器并使用自定义API将其传递给android。 我使用的查询是

select module_data from oc_journal2_modules where module_id=54

其中module_data是我获取有关过滤器数据的信息的字段,module_id是过滤器模块的id。但是我得到的数据是不正确的JSON格式,因此我可能需要编写一个自定义函数,仅从attribute中的module_data部分获取已启用的过滤器。 有没有更合适的方法来获取启用的过滤器?因为我的方法可能会使Api变慢。 感谢期待。

1 个答案:

答案 0 :(得分:0)

以下是您的问题的最佳示例,它真正有助于为您的查询解决问题。

在Opencart中打开以下文件:

catalog/controller/extension/module/filter.php

在该文件中搜索以下行:

$filter_groups = $this->model_catalog_category->getCategoryFilters($category_id);

围绕行号。 49

这将搜索

catalog/model/catalog/category.php file

在此文件中找到getCategoryFilters函数。

您可以在此功能中查看Db查询。

$query = $this->db->query("SELECT filter_id FROM " . DB_PREFIX . "category_filter WHERE category_id = '" . (int)$category_id . "'");

之后,他们将结果存储在数组中。并使用必要的数据创建适当的数组。

您可以创建自定义函数,首先在数组中正确设置数据,然后将其传递给JSON。

希望会有效!!