Перейти к содержанию
mmsipii

[Решено] Скрыть какую либо категорию с сайта но не отключая ее с админ панели

Рекомендуемые сообщения

Помогите скрыть какую либо категорию с сайта, но не отключая ее с админ панели?

как то в системных файлах CMS?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А на вкладке Данные- "Магазины: Основной магазин" или там же ниже "Статус" не помогают?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А на вкладке Данные- "Магазины: Основной магазин" или там же ниже "Статус" не помогают?

Нужно просто ее скрыть. не отключая из админки,

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сортировка -1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сортировка -1

категория все равно отображается в боковом модуле категории

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

значь не правильно работает сортировка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так вроде и никогда и не работало так в категориях...

 

mmsipii

открываем файл

\catalog\model\catalog\category.php

там находим функцию public function getCategories

и почти в конце запроса, после AND c.status = '1' добавим AND c.sort_order > '-1'

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

эта функция должна распространяться и на модуль категорий, правда не помню точно - есть ли она по умолчанию в сборке оСstore

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сделал, как описано выше: ссылка на подкатегорию отображается везде, но пишет - категория не найдена, то есть решение в корне не то, которое нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так вроде и никогда и не работало так в категориях...

 

mmsipii

открываем файл

\catalog\model\catalog\category.php

там находим функцию public function getCategories

и почти в конце запроса, после AND c.status = '1' добавим AND c.sort_order > '-1'

А можно подробнее 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот код что куда нужно прописать?

<?php
class ModelCatalogCategory extends Model {
	public function getCategory($category_id) {
		$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.category_id = '" . (int)$category_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1'");
		
		return $query->row;
	}
	
	public function getCategories($parent_id = 0) {
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "'  AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");

		return $query->rows;
	}
	
	public function getCategoryFilters($category_id) {
		$implode = array();
		
		$query = $this->db->query("SELECT filter_id FROM " . DB_PREFIX . "category_filter WHERE category_id = '" . (int)$category_id . "'");
		
		foreach ($query->rows as $result) {
			$implode[] = (int)$result['filter_id'];
		}
		
		
		$filter_group_data = array();
		
		if ($implode) {

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<?php
class ModelCatalogCategory extends Model {
    public function getCategory($category_id) {
        $query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.category_id = '" . (int)$category_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' Я вот сюда втыкал, мне не помогло");
        
        
return $query->row;
    }

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Короче поставил может не так но теперь все рубрики не отсортированы и с -1. И все равно не удается скрыть одну рубрику в каталоге всех рубриков слева на главной. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<?php

class ModelCatalogCategory extends Model {

    public function getCategory($category_id) {

        $query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.category_id = '" . (int)$category_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' Я вот сюда втыкал, мне не помогло");

        

        return $query->row;

    }

Я тоже, единственное решение это плагин Unlimited Split Categories но он платный 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

30 баксов стоит, он решает проблему с неотображением подкатегории, но с наличием на нее ссылки? тогда могу купить, отписаться о результатах теста

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можна ли вообще сделать как-то чтобы например есть категория 1 в ней подрубрики, эта категория показывается слева в сайдбаре, другая категория 2 не показывается в сайдбаре, то есть она будет показана ссылкой например ввверху в меню, чел кликает и ему она открывается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

решение ТС давалось в личку, но видимо не далось...  :(

 

три проблемы которые ему не удалось решить
1. переименовать <div class="...." в <div id="...."

2. поменять в стилях для этого дива "." на "#"
3. вствить в скрипт имя селектора этого id 

 

чоуш тут поделать....проблемма... :-(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

только что проверил на ocstore 1551 и brocart - все шикарно работает

открываем файл catalog/model/catalog/category.php
и вот эту функцию:
 

public function getCategories($parent_id = 0) {
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "'  AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");

		return $query->rows;
	}

заменяем на вот это:
 

public function getCategories($parent_id = 0) {
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "'  AND c.status = '1' AND c.sort_order > '-1' ORDER BY c.sort_order, LCASE(cd.name)");

		return $query->rows;
	}

ну или просто добавляем в нужном месте AND c.sort_order > '-1'

идем в админке в категорию которую нужно скрыть и ставим ей статус сортировки -1

 

линки на эту категорию исчезнут из всех меню, но по прямой ссылке открываться будет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хех, потопал проверять. отпишусь, вставлял не туда

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:eek: работает, я в экстазе, уже и тему создал на доработку, и всем прогерам написал, кто может помочь, а тут наконец-то написали, как это реализовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:eek: работает, я в экстазе, уже и тему создал на доработку, и всем прогерам написал, кто может помочь, а тут наконец-то написали, как это реализовать.

как правильно нужно вставлять? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

https://opencartforum.com/topic/34050-скрыть-какую-либо-категорию-с-сайта-но-не-отключ/?do=findComment&comment=274663 вот эйнштейн написал, прямо как у него сделай и все заработает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

https://opencartforum.com/topic/34050-скрыть-какую-либо-категорию-с-сайта-но-не-отключ/?do=findComment&comment=274663 вот эйнштейн написал, прямо как у него сделай и все заработает.

Ссылка неверная

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.