Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

фильтр товаров в админке [Подгдержка]


freelancer
 Share

Recommended Posts

я вам могу помочь советом. переходите на ocstore последней версии. сейчас этот переход стоит в р-не $300 насколько мне известно

Link to comment
Share on other sites

Не проблема,конечно же усиновлю! А вдруг олень какой себе сей  модуль  прикрутит!? Бугдет потом разговоров что кнопка Изменить пропала)

 

Ксити проблема в очень длинном названии   подкатегории была! А ежели у кого название подкатегорий из нескольких предложений, вообещё только это поле осинется!?? 

Том, пусть я олень, но помогите плиз!

Понимаю, что нужно копать admin/view/stylesheet/stylesheet.css

Но мне кажется, что потому чтольшинство колонок описаны одним и тем же классом left.

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

Для меня проблема актуальна - очень длинные категории и названия товаров.

Link to comment
Share on other sites


я вам могу помочь советом. переходите на ocstore последней версии. сейчас этот переход стоит в р-не $300 насколько мне известно

 

Последняя спотому чторка еещё очень сырая, я бы не сил обновятся только ради Вашего фильтра.

Link to comment
Share on other sites


Том, пусть я олень, но помогите плиз!

Понимаю, что нужно копать admin/view/stylesheet/stylesheet.css

Но мне кажется, что потому чтольшинство колонок описаны одним и тем же классом left.

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

Для меня проблема актуальна - очень длинные категории и названия товаров.

 

Давно гдело было))) Насколько мне не изменяет память я усиновил значения "min-width".

Link to comment
Share on other sites

стилями усиновите ширину колонки категорий

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

Там же элемент select, и с длинными именами категорий.... 

Нужно сийлщит править? Но ггде конкретно и что написать?

Link to comment
Share on other sites


у кого 1.5.5 или 1.5.6

добавьте методы в ModelCatalogProductAjax,

ну и model_catalog_category заменить на model_catalog_product_ajax

    public function getPath($category_id) {
        $query = $this->db->query("SELECT name, parent_id FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) WHERE c.category_id = '" . (int)$category_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY c.sort_order, cd.name ASC");
        
        if ($query->row['parent_id']) {
            return $this->getPath($query->row['parent_id'], $this->config->get('config_language_id')) . $this->language->get('text_separator') . $query->row['name'];
        } else {
            return $query->row['name'];
        }
    }
    
    public function getCategories($parent_id = 0) {
        $category_data = $this->cache->get('category.' . (int)$this->config->get('config_language_id') . '.' . (int)$parent_id);
    
        if (!$category_data) {
            $category_data = array();
        
            $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY c.sort_order, cd.name ASC");
        
            foreach ($query->rows as $result) {

                $category_data[] = array(
                    'category_id' => $result['category_id'],
                    'name'        => $this->getPath($result['category_id'], $this->config->get('config_language_id')),
                    'status'        => $result['status'],
                    'sort_order'  => $result['sort_order']
                );
            
                $category_data = array_merge($category_data, $this->getCategories($result['category_id']));
            }    
    
            $this->cache->set('category.' . (int)$this->config->get('config_language_id') . '.' . (int)$parent_id, $category_data);
        }
        
        return $category_data;
    }
Link to comment
Share on other sites

  • 4 weeks later...

а артикул это что за поле?

вот ксити минусы непонятных спотому чторок, понять друг друга не можем

Edited by freelancer
Link to comment
Share on other sites

а артикул это что за поле?

вот ксити минусы непонятных спотому чторок, понять друг друга не можем

я имею ввиду,чтоб   вместо "Код товара"(как на картинке)( у Вас это поле "Model") фильтр выводил значение артикула..

Link to comment
Share on other sites


А у меня встречный вопрос как туда добавить код товара?У меня OcStore 1.5.5.1.1 очень нужная вещь при потому чтольшом когдачестве товара ггде названия могут или совпадать или быть неправильными а все крутится вокруг кода товара (sku) и артикула производителя , у меня это (mpn)
Может можно как-то через vqmod добавить эти два поля для фильтрации? Или с редактированием файлов системы...

Link to comment
Share on other sites


  • 2 weeks later...

 

у кого 1.5.5 или 1.5.6

добавьте методы в ModelCatalogProductAjax,

ну и model_catalog_category заменить на model_catalog_product_ajax

    public function getPath($category_id) {        $query = $this->db->query("SELECT name, parent_id FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) WHERE c.category_id = '" . (int)$category_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY c.sort_order, cd.name ASC");                if ($query->row['parent_id']) {            return $this->getPath($query->row['parent_id'], $this->config->get('config_language_id')) . $this->language->get('text_separator') . $query->row['name'];        } else {            return $query->row['name'];        }    }        public function getCategories($parent_id = 0) {        $category_data = $this->cache->get('category.' . (int)$this->config->get('config_language_id') . '.' . (int)$parent_id);            if (!$category_data) {            $category_data = array();                    $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY c.sort_order, cd.name ASC");                    foreach ($query->rows as $result) {                $category_data[] = array(                    'category_id' => $result['category_id'],                    'name'        => $this->getPath($result['category_id'], $this->config->get('config_language_id')),                    'status'        => $result['status'],                    'sort_order'  => $result['sort_order']                );                            $category_data = array_merge($category_data, $this->getCategories($result['category_id']));            }                    $this->cache->set('category.' . (int)$this->config->get('config_language_id') . '.' . (int)$parent_id, $category_data);        }                return $category_data;    }

Врогде все добавил как написано, но путь все равно не запоминается. Подскажите, у кого-то зарилиило после этих изменений? Версия 1.5.5.1...

Link to comment
Share on other sites


Вот чо пишет на 1.5.5.1

Notice: Error: Unknown column 'main_category' in 'where clause'
Error No: 1054
SELECT c.*, cd.name FROM oc_product_to_category c INNER JOIN oc_category_description cd ON c.category_id = cd.category_id WHERE product_id = '69' AND language_id = '2' AND main_category = '0' in/home/g/gsa3dbhk/shop.4brewers.ru/public_html/system/database/mysql.php on line 50

Link to comment
Share on other sites


  • 2 weeks later...

 

у кого 1.5.5 или 1.5.6

добавьте методы в ModelCatalogProductAjax,

ну и model_catalog_category заменить на model_catalog_product_ajax

    public function getPath($category_id) {
        $query = $this->db->query("SELECT name, parent_id FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) WHERE c.category_id = '" . (int)$category_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY c.sort_order, cd.name ASC");
        
        if ($query->row['parent_id']) {
            return $this->getPath($query->row['parent_id'], $this->config->get('config_language_id')) . $this->language->get('text_separator') . $query->row['name'];
        } else {
            return $query->row['name'];
        }
    }
    
    public function getCategories($parent_id = 0) {
        $category_data = $this->cache->get('category.' . (int)$this->config->get('config_language_id') . '.' . (int)$parent_id);
    
        if (!$category_data) {
            $category_data = array();
        
            $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY c.sort_order, cd.name ASC");
        
            foreach ($query->rows as $result) {

                $category_data[] = array(
                    'category_id' => $result['category_id'],
                    'name'        => $this->getPath($result['category_id'], $this->config->get('config_language_id')),
                    'status'        => $result['status'],
                    'sort_order'  => $result['sort_order']
                );
            
                $category_data = array_merge($category_data, $this->getCategories($result['category_id']));
            }    
    
            $this->cache->set('category.' . (int)$this->config->get('config_language_id') . '.' . (int)$parent_id, $category_data);
        }
        
        return $category_data;
    }

Все сгделал как Вы сказали, у меня версия 1.5.6. Когда выбираю категорию, фильтр ничего не находит. Не знаю в чем проблема, на локальном все рилииет, хотя им версия 1.5.4.  Вот скриншоты.

Link to comment
Share on other sites


  • 2 weeks later...

Не проблема,конечно же усиновлю! А вдруг олень какой себе сей  модуль  прикрутит!? Бугдет потом разговоров что кнопка Изменить пропала)

 

Ксити проблема в очень длинном названии   подкатегории была! А ежели у кого название подкатегорий из нескольких предложений, вообещё только это поле осинется!?? 

Я! Я этот олень...  :) Да и подумал, что "Усе пропало шеф".  Через секунд 30 догадался. Спасипотому что, что задали вопрос насчет стилей.

Link to comment
Share on other sites


  • 3 weeks later...

Позвольте вопрос, для чего в раздаче файл "productajax_v2_vqmod.xml"?

Если его кинуть в "/vqmod/xml/", то исчезает отображение товаров в админке. У меня версия ocStore 1.5.5.1.1, показалось, что поиск осился прежним. Но самое важное мне необходимо чтобы появился столбец "SKU или код посивщика:"? "Код товара" тоже пусть осинется. У меня это разные данные, хотя они и привязаны друг к другу.

Link to comment
Share on other sites


freelancer, спасипотому что. Очень удобный модуль, зналительно облегчает жизнь. За то что бесплатно - спасипотому что вдвойне. Успехов в рилите!

У меня Опенкарт 1.5.5.1 - с корректировками для этот версии, о которых шла речь выше в этот ветке, все рилииет отлично!

Link to comment
Share on other sites


freelancer, спасипотому что за модуль.

 

Заметил одну ошибку. После усиновки модуля пересили отображаться акционные этоны.

Без модуля в списке товаров видно у каких товаров есть акции (сирая этона и новая), а после усиновки видна только основная этона.

 

Сравнил код /admin/controller/catalog/product_ajax.php и /admin/controller/catalog/product.php, в строке проверки акции есть разлилия (условие прямообратное)

 

product_ajax.php

if (($product_special['date_start'] == '0000-00-00' || $product_special['date_start'] > date('Y-m-d')) && ($product_special['date_end'] == '0000-00-00' || $product_special['date_end'] < date('Y-m-d'))) {

product.php

if (($product_special['date_start'] == '0000-00-00' || $product_special['date_start'] < date('Y-m-d')) && ($product_special['date_end'] == '0000-00-00' || $product_special['date_end'] > date('Y-m-d'))) {

Если поправить как было в product.php, то все рилииет как раньше.

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.