Обновление модуля алфавита производителей для OpenCart
27 февраля 2015 в 18:00 в категории Плагины и модули 26 комментариевСпустя почти четыре месяца, один из моих подписчиков (Mukim), за что ему отдельное спасибо, обнаружил небольшой баг в модуле алфавита производителей для Opencart, который позволяет выводить алфавит, в каждой букве которого содержится выпадающее меню.
Суть ошибки была в том, что контроллер подключал стили из папки Default, и не мог работать с другими темами. Ошибка не критическая, и по большому счету легко исправима, но я решил выпустить обновление, чтобы довести модуль до ума.
Для тех, кто первый раз знакомится с данным модулем, напомню что модуль выводит алфавит, в каждой букве которого содержится выпадающее меню со списком производителей на эту букву. Ниже приведены сриншоты, как это выглядит на Opencart теме из коробки.
Внимание: доступна новая версия модуля алфавита производителей для OpenCart!
Также, вы можете увидеть, как был стилизован данный модуль для шаблона одного из созданных интернет магазинов парфюмерии Lady-Parfume:
В архиве стандартная комплектация моих модулей: скриншоты англ. и рус. версии, файл README англ. версии, файлы для загрузки на сервер. При загрузке ни один файл не будет перезаписан.
Правила использования модуля стандартные, для моих бесплатных модулей: модуль абсолютно бесплатный, для использования, однако загружать на сторонние ресурсы запрещено – делитесь ссылкой на эту страницу, спасибо за понимание.
Спасибо за доверие, не забываем подписываться и ставить +1, ведь именно благодаря ВАШИМ “лайкам” я вижу что работа не напрасна, а комментарии дают вдохновение на сотворение новых модулей и модификацию имеющихся!
Также буду рад услышать ваши комментарии относительно данного и иных моих модулей, а также предложения по их улучшению, и идеи для написания новых модулей!
Скачать Manufacturers Alphabet for Opencart: nikita_sp manufacturers alphabet 1.1
UPD: доступна 2.0 версия модуля алфавита производителей для OpenCart
26 комментариев
Никита, спасибо ВАМ большое
И вам спасибо за отклик и о сообщении о баге!
Спасибо за доверие, пользуйтесь на здоровье!
Не забывайте подписываться и будете в курсе новых модулей и обновлений!
Здравствуйте спасибо за модуль. Не подскажите как сделать выпадающее меню для русских букв. У меня все производители русские. Сайт пока на денвере,
Добрый вечер!
Спасибо за использование модуля!
Откройте файл контроллера и пропишите в регулярном выражении не A-Z, а А-Я, и будут русские буквы.
Здравствуйте, спасибо за ответ.
Правильно ли я понял, прописать на до в этом файле?
catalogcontrollermodulemanufacturer_alphabet.php
строка 28 if(preg_match(«/[А-Я]/»,$result[‘name’][0])){
Но это не помогает.
При замене английских букв на русские в этом коде
строка 11 $this->data[‘alphabet’] = array(‘А’ => », ‘Б’ =>», ‘C’ =…………….
Не появляется выпадающее меню.
Пожалуйста помогите настроить на русский алфавит, у меня бренды только на русском, английский указатель не нужен совсем.
Еще методом тыкка обнаружил следующее если в
строке 29 $this->data[‘alphabet’][$result[‘name’][0]][] = array(
нолик заменить на 1 после английского появляется алфавит крокозябами с работающим выпадающим меню.
чтоб было понятнее прикрепляю скрин
Имелось ввиду заменить буквы A-Z на А-Я везде:
1) 11 строка — каждую букву, а А-Я просто удалить
2) Условие if preg_match вообще можете убрать и оставить блок кода который выполняется при выполнении условия.
3) сохранять естественно в той же кодировке что и сам сайт, обычно UTF-8
Здравствуйте, спасибо за ответ.
У меня не получается, русские буквы есть, но выпадающий список по наведению не появляется. Помогите пожалуйста.
Вот как я сделал, подскажите где ошибка.
$this->load->model(‘catalog/manufacturer’);
$this->data[‘manufactureres’] = array();
$this->data[‘alphabet’] = array(‘А’ => », ‘Б’ =>», ‘В’ =>», ‘Г’ =>», ‘Д’ =>», ‘Е’ =>», ‘Ж’ =>», ‘З’ =>»,
‘И’ =>», ‘К’ =>», ‘Л’ =>», ‘М’ =>», ‘Н’ =>», ‘О’ =>», ‘П’ =>», ‘Р’ =>»,
‘С’ =>», ‘Т’ =>», ‘У’ =>», ‘Ф’ =>», ‘Х’ =>», ‘Ц’ =>», ‘Ч’ =>», ‘Ш’ =>»,
‘Ю’ =>», ‘Я’ =>»);
$this->data[‘url’] = $this->url->link(‘product/manufacturer’);
$this->data[‘text_all’] = $this->language->get(‘text_all’);
if (file_exists(‘catalog/view/theme/’ . $this->config->get(‘config_template’) . ‘/stylesheet/manufacturer_alpabet.css’)) {
$this->document->addStyle(‘catalog/view/theme/’ . $this->config->get(‘config_template’) . ‘/stylesheet/manufacturer_alpabet.css’);
} else {
$this->document->addStyle(‘catalog/view/theme/default/stylesheet/manufacturer_alpabet.css’);
}
$results = $this->model_catalog_manufacturer->getManufacturers(0);
foreach($results as $result){
if(preg_match(«/[А-Я]/»,$result[‘name’][0])){
$this->data[‘alphabet’][$result[‘name’][0]][] = array(
‘manufacturer_id’ => $result[‘manufacturer_id’],
‘name’ => $result[‘name’],
‘href’ => $this->url->link(‘product/manufacturer/info’, ‘manufacturer_id=’ . $result[‘manufacturer_id’])
);
}else{
$this->data[‘alphabet’][‘А-Я’][] = array(
‘manufacturer_id’ => $result[‘manufacturer_id’],
‘name’ => $result[‘name’],
‘href’ => $this->url->link(‘product/manufacturer/info’, ‘manufacturer_id=’ . $result[‘manufacturer_id’])
Я же написал условие убрать (if preg_match). И оставить первый блок (когда условие == true).
Вы читаете мои ответы?
Здравствуйте, спасибо за ответ.
Читать то я читаю, но понять и реализовать у меня не хватает знаний.
Не могли бы вы дать готовые исправленные строки для замены.
Заранее благодарен.
Понятно, попробую помочь вечером, если не забуду и успею.
Отправьте мне сообщение через форму в разделе контактов и я вам на вашу почту скину файлы.
Здравствуйте.
Это опять я насчёт, русских букв с выпадающим списком по наведению.
Я отправлял вам сообщение через контакты.
Вы сможете помочь?
добрый вечер!
Да, я помню, но пока был занят другими проектами, планирую выпустить обновления в течении недели.
Следите за новостями. Спасибо.
К сожалению, боюсь что не получится у меня сделать русский алфавит, т.к. есть определенные проблемы с кодировкой при сравнении первой буквы.
Спасибо за проделанную работу! А возможно сделать проверку если нет производителя (бренда) на эту букву тогда ее не показывать?
Если установить с боку смеху она все равно длинная и не красивая, как то сделать ее резиновой. Подскажите куда копать и где?
Спасибо за интерес и использование модуля.
Можно скрывать буквы, добавив проверку в контроллере модуля на подсчет количества элементов в букве и если count(array[letter]) < 1 -> unset(array[letter]).
Что касается резины для боковой схемы, то это можно настроить в CSS файле, и написать любые стили.
Спасибо, все отлично, не считая того, что вылазит за границы сама рамочка. Как это исправить?
Вроде писала уже коммент, а он не появился. Ладно, повторюсь.
Ужасно расстроена, долго искала именно этот модуль, удачно установила и ….фигня. Шапка сдвинута и вылазит за границы. Есть возможность это исправить?
А так модуль нужный….большое спасибо!
Каждый комментарий проходит премодерацию, поэтому вы не можете сразу увидеть его.
Что касается модуля, то вам необходимо править css файл.
А есть версия на второй опенкарт?
Нет, к сожалению, нету.
Интересует вывод меток подобным способом? Сложно ли такое реализовать?
Не сложно. Спасибо за идею, посмотрю что можно сделать и постараюсь в ближайшее время реализовать такого рода модуль.
Сообщите как реализуете
следите за обновлениями.
Добрый день! Модель нравится, но существует 2 вопроса
1) Сайт http://****
почему то при работе модуля вылазит ошибка (см. вверху)
2) как сделать чтобы буквы в которых нет производителя не высвечивались?
Заранее спасибо , если есть возможность пришлите ответ на *****@****.**
Ответил на email.