如何在opencart中的单个页面中显示所有产品?

时间:2016-11-07 11:54:59

标签: php module opencart opencart2.x opencart-module

我想在主菜单中点击一个按钮同时在一个页面中显示所有产品,还需要在主菜单中显示类别...

提前谢谢......!

3 个答案:

答案 0 :(得分:8)

  1. 在一个页面中显示Alll产品
    您必须创建单独的页面才能显示所有产品。

    1. 创建模型文件catalog\model\catalog\allproduct.php并粘贴 代码http://pastebin.com/suF5TP3z
    2. 创建控制器文件catalog\controller\productallproduct.php和 粘贴代码http://pastebin.com/jZq3hZyc
    3. 创建视图文件 catalog\view\theme\default\template\productallproduct.tpl并粘贴 低于代码http://pastebin.com/1HNh3x73

      4。创建语言文件catalog\language\en-gb\product\allproduct.php 并粘贴到代码http://pastebin.com/EcyJH7F9下面
      1. 从后端启用模块您可以在菜单中看到链接 enter image description here
  2. 在菜单中显示所有类别
    1. 打开并修改您的类别:
    2. 选择标签数据:
    3. 查找并检查:顶部:显示在顶部菜单栏中。
      enter image description here
      注意:仅适用于顶级父类别。您需要检查所有顶级类别。它是Opencart错误。

答案 1 :(得分:3)

我建议不要对默认主题代码和结构进行任何更改。如果您已经使用自定义主题,则可以轻松创建菜单并定义所有类别,包括一个菜单或按钮下的所有产品。 让我们以这种方式克服: 例如,您有5个类别。每个类别包括十多种产品或更多。

  • 创建一个品牌(Manifacturer)。该品牌仅包含1个类别。给它起一个名为“所有产品”
  • 创建一个类别并将其命名为“所有产品”。
  • 创建一个菜单,显示所有产品并将菜单显示定义为类别。选择您刚刚创建的“所有产品”类别。
  • 转到产品页面,然后单击每个产品页面的编辑。单击“链接”选项卡和类别文本框,选择“所有产品”类别。对每个产品进行简单的编辑。我试过你,需要4/5秒。
  • 转到主题中的“主题设置”。查找“显示产品”或“类别中的产品”设置。每个主题都有预先定义的显示限制,接下来是分页。做一个简单的计算;你店里有多少产品,50? 100?
  • 将显示限制设置为大于总产品数。

就是这样!

也许你想稍微播放菜单css。就像我之前说过的,如果你已经使用了自定义主题,你就不需要分叉核心代码,特别是默认主题。

如果有任何帮助,请告诉我。

答案 2 :(得分:2)

我做这样的事情的方式

控制器: ControllerProductCategory

在索引函数内替换

if (isset($this->request->get['limit'])) {
    $limit = $this->request->get['limit'];
} else {
    $limit = $this->config->get('config_product_limit');
}

if (isset($this->request->get['viewall'])) {
            $limit = "";
} else if (isset($this->request->get['limit'])) {
            $limit = $this->config->get('config_product_limit');
} else {
            $limit = $this->config->get('config_product_limit');
}

同时进行此更改以显示所有没有类别过滤器的产品

替换此代码

    if ($category_info) {
                $this->document->setTitle($category_info['meta_title']);
                $this->document->setDescription($category_info['meta_description']);
                $this->document->setKeywords($category_info['meta_keyword']);

使用此代码

if (($category_info) || ($category_id == 0)) {
    if ($category_id == 0) {
                $this->document->setTitle('all products');
                $this->document->setDescription('all products');
                $this->document->setKeywords('all products');
                $this->data['heading_title'] = 'all products';
                $category_info['description'] = '';
                $category_info['image'] = '';
      } else {
                $this->document->setTitle($category_info['name']);
                $this->document->setDescription($category_info['meta_description']);
                $this->document->setKeywords($category_info['meta_keyword']);
                $this->data['heading_title'] = $category_info['name'];
            }

并在最后创建一个新类别,您可以将其命名为您想要的任何内容。并给出类似这样的链接

https://www.yourwebsite.com/yourCategoryname?viewall=viewall?viewall=viewall

您可以将此链接放置在任何您想要的位置,它将加载所有产品而不进行任何分页。

让我知道你是否仍然不了解任何事情。