Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Исправить алфавитный поиск производителей


Seman

Recommended Posts

Добрый вечер!

Подскажите, как исправить алфавитный поиск по производителям? Дело в том, что производитель, который начинается на английскую букву "J" почему-то стоит в самом начале, т.е. перед "A". Возможно в обновлениях уже всё исправили, но не хочется лишний раз "тревожить файлы", т.к. всё остальное меня полностью устраивает.

Версия ocStore 2.1.0.1.

Надіслати
Поділитися на інших сайтах


В 2.1 однозначно всё по алфавиту.

Если вывод по алфавиту не работает, можно скачать чистый дистрибутив своей версии, и сравнить файл /catalog/controller/product/manufacturer.php

А конкретно эти строки:

		foreach ($results as $result) {

			if ($result['meta_h1']) {
				$name = $result['meta_h1'];
			} else {
				$name = $result['name'];
			}

			if (is_numeric(utf8_substr($name, 0, 1))) {
				$key = '0 - 9';
			} else {
				$key = utf8_substr(utf8_strtoupper($name), 0, 1);
			}

			if (!isset($data['categories'][$key])) {
				$data['categories'][$key]['name'] = $key;
			}

			$data['categories'][$key]['manufacturer'][] = array(
				'name' => $name,
				'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id'])
			);
		}

Конкретно вот эти строки:

$key = utf8_substr(utf8_strtoupper($name), 0, 1);

$data['categories'][$key]['manufacturer'][] = array(

Змінено користувачем mazein
Надіслати
Поділитися на інших сайтах

А как выводится алфавит?

 

/catalog/view/theme/default/template/product/manufacturer_list.tpl

        <?php foreach ($categories as $category) { ?>
           <a href="index.php?route=product/manufacturer#<?php echo $category['name']; ?>"><?php echo $category['name']; ?></a>
        <?php } ?>

так?

Надіслати
Поділитися на інших сайтах

А как выводится алфавит?

 

/catalog/view/theme/default/template/product/manufacturer_list.tpl

        <?php foreach ($categories as $category) { ?>
           <a href="index.php?route=product/manufacturer#<?php echo $category['name']; ?>"><?php echo $category['name']; ?></a>
        <?php } ?>

так?

Один в один...

Надіслати
Поділитися на інших сайтах


В 2.1 однозначно всё по алфавиту.

Если вывод по алфавиту не работает, можно скачать чистый дистрибутив своей версии, и сравнить файл /catalog/controller/product/manufacturer.php

 

не совсем так

до версии 21021 как раз с выводом производителей были ляпы

 

для исправления:

1. в catalog\controller\product\manufacturer.php

 

найти код

            if ($result['meta_h1']) {
                $name = $result['meta_h1'];
            } else {
                $name = $result['name'];
            }

заменить на

$name = $result['name'];

2. в catalog\model\catalog\manufacturer.php

 

найти

$sql .= " ORDER BY md.meta_h1, m.name";

заменить на

$sql .= " ORDER BY m.name";

должно помочь

 

лучше всего конечно до 21021 обновиться - в ней этот вопрос решен

(правда не до конца, там использован ORDER BY md.name , хотя лучше бы m.name - так результаты будут корректны)

  • +1 1
Надіслати
Поділитися на інших сайтах

модули кеширования какие-то используются?

если да - обновляйте их кеш

 

если нет - пробуйте очистить системный (удалить содержимое папки system\storage\cache)

Надіслати
Поділитися на інших сайтах

модули кеширования какие-то используются?

если да - обновляйте их кеш

 

если нет - пробуйте очистить системный (удалить содержимое папки system\storage\cache)

Модули отключал, чистил кеш, чистил кеш браузера - безрезультатно!

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Вообщем, после всех вышеперечисленных манипуляций стал добавлять новых производителей и список начал "выравниваться". При чём заметил, что обмануть Opencart путём удаления производителя, а потом его же добавления не удаётся. Т.е. производитель должен иметь новое имя, которого ещё у меня не было. Не знаю, считать это решением проблемы или нет, но только так и помогло - т.е. добавил к каждой имеющейся букве нового производителя и теперь список стал по алфавиту.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.