Автор Тема: Поменял местами блоки (имя, картинка и т.д.), дублируется имя товара. Presta 1.6  (Прочитано 185 раз)

08 Декабря 2015, 14:34:56
  • Пользователь
  • **
  • Сообщений: 56
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В product-list.tpl перекинул очерёдность блоков  (имя, картинка и т.д.) - теперь дублируется название товара. Оно выводится и в левом и в правом блоке, но в Right-block (в tpl) нет вывода названия, и в дебаггере дивы Right-block вообще в другом порядке, нежели в самом tpl. Как же выводится инфа из этого блока?

И вот ещё какой момент, этот tpl используется и для вывода товаров на главной и по категориям (list-row, list-grid), но на главной дивы "цена, скидка" и т.д при выравнивании не оказывают друг на друга влияния, а в категориях пришлось убрать text-align: center.

P.S. дефолтные стили не трогал, прописываю отдельные для каждого элемента под конкретны див, например:
дефолт - span.price.product-price{...}
мой - ul#homefeatured span.price.product-price{...}
08 Декабря 2015, 14:52:22
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 86051
  • Репутация: +25403/-0
  • Сообщество PrestaShop
    • Просмотр профиля
1.Найдите в шаблоне product-list.tpl все выводы названия товара
{$product.name|escape:'html':'UTF-8'}и удалите лишнии.

2. Стили для главной добаляйте в файл global.css. Если нужно разные стили для категорий и главной, то нужно переопределять существующие правила, учитывая все ид и классы.
Для категорий
ul.product_list .product-image-container img {
    margin: 0 auto;
}
Для главной другие
#home-page-tabs ul.product_list .product-image-container img {
    margin: 10px;
}
08 Декабря 2015, 16:31:58
Ответ #2
  • Пользователь
  • **
  • Сообщений: 56
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
1.Найдите в шаблоне product-list.tpl все выводы названия товара
{$product.name|escape:'html':'UTF-8'}и удалите лишнии.
[/code]

В том и дело, что там только один раз сделан вывод товара,  а именно
<h5 itemprop="name">
вывод названия
</H5>
в right-block.
Я его вырезал и перенёс в left-block, но он всё-равно и в right-block отображается.
И если этот блок тупо удалить, вообще прикончить, то в right-block будет выведено undefiened, то есть используется ссылка на этот блок, но в Product-list.tpl этот блок только один. Значит ещё какой-то обработчик берёт данные из Product-list.tpl и именно он выводит инфу. К тому же этот темплейт используется и для вывода товаров на главную и для вывода по категориям. Явно же его вызывают разные модули. Так вот какие?
Я ж ещё поясняю дополнительно, если смотреть в дебаггере, то дивы из правого блока будут не в том порядке, как прописаны в product-list.tpl. А именно:

        в tpl                                             в дебаггере (на странице вообще)

<div class="right-block">                             <div class="right-block">
 описание                                                      <div class="product-flags">
 цена                                                              название (которое уже оттуда убрали и вообще удалили <h5 itemprop="name">)
 ...                                                                  описание
 <div class="product-flags">                         цена
08 Декабря 2015, 16:49:39
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 2320
  • Репутация: +51/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Блок фильтров может менять вывод. Отключи его, очисти кеш и проверь.
08 Декабря 2015, 17:11:00
Ответ #4
  • Пользователь
  • **
  • Сообщений: 56
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не помогло. Кстати, упустил возможно важное. Этот эффект проявляется при переключении между видами "сеткой" и "списком". Т.е. сначала отображается правильно, а при переключении разметка сбивается.

И кстати, сейчас в дебаггере добавил всем этим элементам свойство text-align: center, про которое в первом посте писал, из-за которого элементы были друг от друга зависимы  - и после переключения видов оно не оказывает никакого воздействия. Т.е. при выводе этой страницы при загрузке и при выводе при переключении видов используются разные механизмы. Где конкретно вызывается этот темплейт (product-list.tpl) при выводе в категории? Из какого файла?
08 Декабря 2015, 17:45:40
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 2320
  • Репутация: +51/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Где конкретно вызывается этот темплейт (product-list.tpl) при выводе в категории? Из какого файла?
Файл так и навзвается product-list.tpl. Находится в папке темы.
При смене вида происходит замена. Это тебе нужно править файл /themes/default-bootstrap/js/global.js в нем function display(view)
08 Декабря 2015, 18:48:53
Ответ #6
  • Пользователь
  • **
  • Сообщений: 56
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Nikola!
Именно! То, что нужно!
Привёл в соответствие порядок вывода дивов и всё заработало!
Спасибо!