Автор Тема: Шалит горизонтальное меню  (Прочитано 330 раз)

28 Сентября 2015, 16:21:29
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем добрый день!

Не Отображаются миниатюры в горизонтальном меню.
http://shot.qip.ru/00en8B-4TEGM24Y8/

Хотя в бэкофисе всё есть
http://shot.qip.ru/00en8B-5TEGM24Y9/

Пробовал нижепредставленный вариант:

1. Загрузить все миниатюры в корневую категорию. - с этим вариантом не разобрался, не понял что делать. :([/color]

2. Исправить файл /modules/blocktopmenu/blocktopmenu.php
Код:
if (preg_match('/^'.$category['id_category'].'-([0-9])?_thumb.jpg/i', $file) === 1) заменить на:
Код:
if (preg_match('/^.?\-([0-9])?_thumb.jpg/i', $file) === 1)
НО НИЧЕГО НЕ ПОМОГЛО!!!

Цитировать
По второму не работает, у меня изображение в .png, менял в коде на png - не помогает.
Вставил представленный код и поменял все изображения на .jpg - не помогает.

Подскажите, что делать? Куда копать?

С Уважением, DCCON.
 
28 Сентября 2015, 16:29:28
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 763
  • Репутация: +6/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Миниатюры добавяться при условии, что уровень категории больше 1 и она не является подкатегорий.
http://prestashop-forum.ru/index.php/topic,4496.msg26384.html#msg26384
28 Сентября 2015, 17:02:25
Ответ #2
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
И это никак не исправить? :o
28 Сентября 2015, 18:09:07
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 85948
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Это же не ошибка, чтобы ее исправлять. Так модуль работает. Сделано для того чтобы ограничить вывод изображений. Если  категорий много, большой уровень вложенности, у всех категорий добавить миниатюры, то в родительской будут показанны все миниатюты, меню будет нечитабельным.

Можно поменять условия показа миниатюр, вот эта строчка
if ((int)$category['level_depth'] > 1 && !$is_children)
28 Сентября 2015, 18:17:06
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 2158
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Поставь модуль megamenu и сможешь любые картинки в меню добавлять.
28 Сентября 2015, 18:30:59
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 32988
  • Репутация: +26759/-0
    • Просмотр профиля
В prestashop 1.6 cтандарный модуль горизонтального меню показывает миниатюры и ничего там править не нужно.
Если есть под-категории и у родительской категории загружены миниатюры, то эти изображения будут показанны в меню.
Если у вас не так, обновите престашоп, обновите модуль, очистите кеш, проверьте шаблоны своей темы.
04 Октября 2015, 17:46:49
Ответ #6
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Переустановил Престу, всё равно не помогает!
Картинки не отображаются в под категориях!
 
04 Октября 2015, 18:39:06
Ответ #7
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22094
  • Репутация: +17108/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
В файле /modules/blocktopmenu/blocktopmenu.php в функции generateCategoriesMenu закоментируйте 3 строчки.
//if ((int)$category['level_depth'] > 1 && !$is_children)
//{
....
 //}
Очистите кеш и обновите страницу. Миниатюры появились?
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
04 Октября 2015, 19:57:38
Ответ #8
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Какие именно 3 строчки комментировать?
(во вложении)

И если не сложно напишите процедуру сброса КЭШа, а то я делаю через фронт-офис, но у меня ощущение что ничего не происходит, может не правильно делаю!

04 Октября 2015, 21:09:44
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 1193
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
05 Октября 2015, 19:14:08
Ответ #10
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В файле /modules/blocktopmenu/blocktopmenu.php в функции generateCategoriesMenu закоментируйте 3 строчки.
//if ((int)$category['level_depth'] > 1 && !$is_children)
//{
....
 //}
Очистите кеш и обновите страницу. Миниатюры появились?

Какие именно 3 строчки комментировать?
(во вложении)
05 Октября 2015, 19:44:19
Ответ #11
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22094
  • Репутация: +17108/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Я написал какие,
1. //if ((int)$category['level_depth'] > 1 && !$is_children)
2. //{
....
3. //}
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
05 Октября 2015, 22:31:18
Ответ #12
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я написал какие,
1. //if ((int)$category['level_depth'] > 1 && !$is_children)
2. //{
....
3. //}

Не помогает!!! :(
 

            if (isset($category['children']) && !empty($category['children'])) {
                $html .= '<ul>';
                $html .= $this->generateCategoriesMenu($category['children'], 1);

             /* if ((int)$category['level_depth'] > 1 && !$is_children) {
                    $files = scandir(_PS_CAT_IMG_DIR_); */

                    if (count(preg_grep('/^'.$category['id_category'].'-([0-9])?_thumb.jpg/i', $files)) > 0) {
                        $html .= '<li class="category-thumbnail">';

                        foreach ($files as $file) {
                            if (preg_match('/^'.$category['id_category'].'-([0-9])?_thumb.jpg/i', $file) === 1) {
                                $html .= '<div><img src="'.$this->context->link->getMediaLink(_THEME_CAT_DIR_.$file)
                                .'" alt="'.Tools::SafeOutput($category['name']).'" title="'
                                .Tools::SafeOutput($category['name']).'" class="imgm" /></div>';
                            }
                        }

                        $html .= '</li>';
                    }
/*                 } */

               
06 Октября 2015, 09:11:01
Ответ #13
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22094
  • Репутация: +17108/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Не так
/* if ((int)$category['level_depth'] > 1 && !$is_children) {
                    $files = scandir(_PS_CAT_IMG_DIR_); */
Вот так
/* if ((int)$category['level_depth'] > 1 && !$is_children) {*/
                    $files = scandir(_PS_CAT_IMG_DIR_);
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
06 Октября 2015, 09:34:15
Ответ #14
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не так
/* if ((int)$category['level_depth'] > 1 && !$is_children) {
                    $files = scandir(_PS_CAT_IMG_DIR_); */
Вот так
/* if ((int)$category['level_depth'] > 1 && !$is_children) {*/
                    $files = scandir(_PS_CAT_IMG_DIR_);

Тогда не понимаю какие три строчки :(
Можете прямо в коде их отметить?
Спасибо, что не бросаете в беде!!!