Облегчаем ввод атрибутов товаров в админпанели для OpenCart v.1.5.1




Облегчаем ввод атрибутов товаров в админке для OpenCart v.1.5.1

Автор: admin // Дата публикации: 18-09-2011, 16:43 // Просмотров: 7570

4

 

 

В OpenCart 1.5.1.х не совсем удобный способ ввода атрибутов товаров, потому что если их хотя бы десяток, то начинаешь забывать их названия, путаться или пытаешся вспомнить, как этот атрибут вы назвали ранее. Кабель? Шнур питания? Длина шнура? Или еще как-то? По умолчанию в админке сделан поиск по "началу" названий (и в связях товаров, и в атрибутах, и в рекомендуемых, и т.д.). Это неудобно. Мешает, утомляет, раздражает и отнимает драгоценное время. В данной статье рассказывается как облегчить ввод атрибутов товара.

И так когда мы сделаем небольшие изменения в двух файлах, то при редактировании или добавлении продукта при вводе в поле атрибута точки "." появится список всех атрибутов и администратору достаточно будет выбрать нужный. (см. скрин)

Что нужно сделать:

1. Открыть файл admin/controller/catalog/attribute.php

Найти в самом конце примерно в 435 строке следующий код:

       

$sort_order = array();

 

          foreach ($json as $key => $value) {
                $sort_order[$key] = $value[‘name’];
        }
           array_multisort($sort_order, SORT_ASC, $json);


Если у вас присутствует данный код, то переходим к пункту 2:

Если код отсутствует, тогда его нужно добавить выше этой строки:

$this->load->library(‘json’);

Все зависит от используемой версии OpenCart.

2. Открыть файл admin/model/catalog/attribute.php

Найти примерно в 37 строке следующий код:

if (isset($data[‘filter_name’]) && !is_null($data[‘filter_name’])) {
            $sql .= " AND LCASE(ad.name) LIKE ‘" . $this->db->escape(mb_strtolower($data[‘filter_name’], ‘UTF-8’)) . "%’";
        }

Заменить найденное следующим кодом:

if (isset($data[‘filter_name’]) && !is_null($data[‘filter_name’])) {
            if( $data[‘filter_name’] == ‘.’ )
                $sql .= " AND LCASE(ad.name) LIKE ‘%’";
            else
                $sql .= " AND LCASE(ad.name) LIKE ‘%" . $this->db->escape(mb_strtolower($data[‘filter_name’], ‘UTF-8’)) . "%’";
        }

На этом установка завершена.

Говорим спасибо за этот мод: www.rb.labtodo.com

Категория: Статьи


http://maxzon.ru/staty/80-oblegchaem-vvod-atributov-tovarov-v-adminpaneli-dlya-opencart-v151.html

Губарь Маргарита Александровна