Скрыть пустую категорию и производителей - opencart - PullRequest
0 голосов
/ 26 марта 2019

Я не могу автоматически скрывать категории, подкатегории и бренды (производителей), когда у них нет продуктов в Opencart 3. Я пытался адаптировать код из более старых версий opencart, но он не работает.Мучения: (

\ catalog \ controller \ product \ category.php

$qc = $this->model_catalog_product->getTotalProducts($filter_data);
if ($qc > 0 ) {
$data['categories'][] = array(
'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
'thumb' => $this->model_tool_image->resize($result['image'], 120, 120),
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
);
}

\ catalog \ controller \ module \ category.php

$qc = $this->model_catalog_product->getTotalProducts($filter_data);
if ($qc > 0 ) {
$children_data[] = array(
'category_id' => $child['category_id'],
'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
);
}

Этот код такжене работает ↓

    <file name="catalog/controller/common/header.php" error="log">
        <operation error="log">
            <search position="before"><![CDATA[$children_data[] = array(]]></search>
            <add><![CDATA[
if ($this->model_catalog_product->getTotalProducts($filter_data) != 0)
            ]]></add>
        </operation>
    </file>

    <file name="catalog/controller/product/category.php" error="log">
        <operation error="log">
            <search position="before"><![CDATA[$data['categories'][] = array(]]></search>
            <add><![CDATA[
if ($this->model_catalog_product->getTotalProducts($filter_data) != 0)
            ]]></add>
        </operation>
    </file>

    <file name="catalog/controller/module/category.php" error="log">
        <operation error="log">
            <search position="before"><![CDATA[$children_data[] = array(]]></search>
            <add><![CDATA[
if ($this->model_catalog_product->getTotalProducts($filter_data) != 0)
            ]]></add>
        </operation>

        <operation error="log">
            <search position="before"><![CDATA[$data['categories'][] = array(]]></search>
            <add><![CDATA[
//if ($this->model_catalog_product->getTotalProducts($filter_data) != 0)
            ]]></add>
        </operation>
    </file>

Пожалуйста, помогите.

С уважением.

...