Jump to content
Sign in to follow this  
mmsipii

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

Recommended Posts

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

mmsipii

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

\catalog\model\catalog\category.php

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

mmsipii

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

\catalog\model\catalog\category.php

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

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

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

Share this post


Link to post
Share on other sites

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

<?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) {

Share this post


Link to post
Share on other sites

<?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;
    }

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

<?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 но он платный 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

Share this post


Link to post
Share on other sites

только что проверил на 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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.