Автор Тема: Как сделать два изображения подкатегорий  (Прочитано 374 раз)

01 Июня 2015, 17:32:07
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем привет. Может уже было - но решений не нашел, поэтому создаю тему еще раз. Добавляем подкатегорию - выбираем изображение1 - размер category_default 870 px 217 px , которое будет отображаться на странице подкатегории. Теперь вопрос - как добавить изображение2 medium_default  125 px 125 px  - что бы именно оно отображалось на странице КАТЕГОРИЙ - без масштабирования, потому что по умолчанию мы изображение1 870*217 просто помещаем в 125*125 - и выглядит "не очень". Для чего вообще тогда нужно ставить галочку 125*125 для категории в настройках изображений?  И еще одно  - что такое миниатюры в категории (макс. 3 шт.) и как их включить для отображения? Пересоздать миниатюры  - что это означает в настройках изображений. Спасибо, что дочитали.
01 Июня 2015, 18:05:47
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 20885
  • Репутация: +25279/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
1. Если нужно поменять размеры изображений, то добавьте новй тип и используйте его в шаблоне.
2.  Миниатюры в категории - это для показа изображений в главном горизонтальном меню.
3. Пересоздать миниатюры - это создать изображения, которые соотвествуют заданным типам, из закаченного файла изображения.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
01 Июня 2015, 18:12:56
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 113
  • Репутация: +3/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Чтобы заменить формат картинки, нужно в шаблоне category.tpl заменить
<!-- Category image -->
<div class="content_scene_cat_bg"{if $category->id_image} style="background:url({$link->getCatImageLink($category->link_rewrite, $category->id_image, 'category_default')|escape:'html':'UTF-8'}) right center no-repeat; background-size:cover; min-height:{$categorySize.height}px;"{/if}>
на
<div class="content_scene_cat_bg"{if $category->id_image} style="background:url({$link->getCatImageLink($category->link_rewrite, $category->id_image, 'medium_default')|escape:'html':'UTF-8'}) right center no-repeat; background-size:cover; min-height:{$mediumSize.height}px;"{/if}>
01 Июня 2015, 18:18:47
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86326
  • Репутация: +25417/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вот так можно показать изображение medium_default  125 px 125 px
<!-- Category image -->
<img class="replace-2x" src="{$link->getCatImageLink($category->link_rewrite, $category->id_image, 'medium_default')|escape:'html':'UTF-8'}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />
02 Июня 2015, 09:07:53
Ответ #4
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Большое спасибо ВСЕМ за ответы, еще не делал, но уверен, что получится.  Только вот  это
2.  Миниатюры в категории - это для показа изображений в главном горизонтальном меню.
- уже делал, а в горизонтальном меню изображени не было.
02 Июня 2015, 10:34:02
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 779
  • Репутация: +7/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Показывает миниатюры только под-категорий.
02 Июня 2015, 12:04:03
Ответ #6
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Может что-то дополгительно нужно включить, потому что загружаю фото и не показывает.
02 Июня 2015, 12:15:37
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 13627
  • Репутация: +14563/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Показывает миниатюры только под-категорий.
Наоборот, показ картинок в меню действует только для категорий 1-го уровня. Для под-категорий это не работает.
02 Июня 2015, 12:21:50
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 779
  • Репутация: +7/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Наоборот, показ картинок в меню действует только для категорий 1-го уровня. Для под-категорий это не работает.
Смотрите в файле blocktopmenu.php функцию generateCategoriesMenu.
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($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>';
}
}
$html .= '</ul>';
}
Миниатюры добавяться при условии, что уровень категории больше 1 и она не является подкатегорий
if ((int)$category['level_depth'] > 1 && !$is_children)