Автор Тема: Скрыть поле изображения товара при его отсутсвии  (Прочитано 129 раз)

09 Октября 2016, 19:53:58
  • Новичок
  • *
  • Сообщений: 30
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Хочу скрыть поле изображение товара при его отсутствии во всплывающей корзине  (во вложении скрин - выделила, то что нужно скрывать).
Я правильно думаю что в файле blockcart.tpl нужно работать с
<div class="product-image-container layer_cart_img"> </div>и  в ajax-cart.js -
$('.layer_cart_img').html('<img class="layer_cart_img img-responsive" src="' + product.image + '" alt="' + product.name + '" title="' + product.name + '" />')Как правильно прописать условие?
Если пишу 
{if $product.id_image!='ru-default'} перед  <div class="product-image-container layer_cart_img"> </div>- поле с изображением пропадает полностью, даже при наличии изображения у товара.
09 Октября 2016, 21:45:42
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для версии prestashop 1.6.1.6 и выше, темы default-bootstrap.
Для всплывающего окна быстрого просмотра товара.
Изменить шаблон страницы товара /themes/default-bootstrap/product.tpl
<!-- product img-->
<div id="image-block" class="clearfix" {if !$have_image && $content_only}style="display:none"{/if}>
Вам написали как делать. Ненужно дублировать тему.
09 Октября 2016, 22:32:47
Ответ #2
  • Новичок
  • *
  • Сообщений: 30
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Изменила шаблон страницы товара по предлагаемому варианту. Хотя я уже исправила карточку товара и изображение "стандартное пустое" скрывается и поле тоже. Всплывающее окно добавление в карнизу все равно содержит "стандартное пустое"  изображение.
Как исправить?
<div class="product-image-container layer_cart_img">     </div>
Решения нет(((.
10 Октября 2016, 00:03:14
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 2169
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Я изменил как писал Виталий, изображение во всплывающем окне есть, а когда пустая картинка, то его нет. Решение есть.
10 Октября 2016, 08:02:35
Ответ #4
  • Новичок
  • *
  • Сообщений: 30
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
И при пустой корзине есть поле изображения((
10 Октября 2016, 09:34:38
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 13147
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Код покажите, который вы добавили и название файла.
10 Октября 2016, 11:43:57
Ответ #6
  • Новичок
  • *
  • Сообщений: 30
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
в product.tpl 
<div id="image-block" class="clearfix" {if !$have_image && $content_only}style="display:none"{/if}>
10 Октября 2016, 11:53:02
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 13147
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Версия prestashop какая? Шаблон стандарный?
10 Октября 2016, 12:01:13
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 13147
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
в product.tpl 
<div id="image-block" class="clearfix" {if !$have_image && $content_only}style="display:none"{/if}>
Сделал как вы пишите
<!-- left infos-->
<div class="pb-left-column col-xs-12 col-sm-4 col-md-5">
<!-- product img-->
<div id="image-block" class="clearfix" {if !$have_image && $content_only}style="display:none"{/if}>
{if $product->new}
Результат в приложении. Вы же так хотели сделать.
Кеширование отключите.
10 Октября 2016, 13:36:58
Ответ #9
  • Новичок
  • *
  • Сообщений: 30
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
<!-- left infos-->
<div class="pb-left-column col-xs-12 col-sm-4 col-md-5">
<!-- product img-->
<div id="image-block" class="clearfix" {if !$have_image && $content_only}style="display:none"{/if}>
{if $product->new}
<span class="new-box">
<span class="new-label">{l s='New'}</span>
</span>

Ну никак не хочет у меня скрываться. У меня редактированные файлы product-list.tpl и global.js - может это влиять?

В product-list.tpl прописано доп.условие {if $product.id_image!='ru-default'} перед  <div class="product-image-container">.А в global.js вместо
html += '<div class="left-block col-xs-4 col-sm-5 col-md-4">' +
$(element).find('.left-block').html() + '</div>';
добавлена проверка на наличие картинки
var isimag = $(element).find('.product-image-container').html();
if (isimag != null) {
html += '<div class="left-block col-xs-4 col-sm-5 col-md-4">' +
$(element).find('.left-block').html() + '</div>';
}
10 Октября 2016, 13:41:23
Ответ #10
  • Новичок
  • *
  • Сообщений: 30
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Версия prestashop какая? Шаблон стандарный?

Шаблон стандартный , версия    1.6.1.7.
10 Октября 2016, 14:01:43
Ответ #11
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105576
  • Репутация: +39545/-0
    • Просмотр профиля
    • Webstudio UwK
Для вспывающего окна корзины.
В файле /themes/default-bootstrap/modules/blockcart/blockcart.tpl
<div class="product-image-container layer_cart_img" {if !$have_image}style="display:none"{/if}>
Cоздание интернет сайтов Webstudio UwK
10 Октября 2016, 14:24:51
Ответ #12
  • Новичок
  • *
  • Сообщений: 30
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Редактирование в файле /themes/default-bootstrap/modules/blockcart/blockcart.tpl
кода
<div class="product-image-container layer_cart_img" {if !$have_image}style="display:none"{/if}>решило мою проблему! Спасибо Вам огромное! :)
10 Октября 2016, 14:39:55
Ответ #13
  • Новичок
  • *
  • Сообщений: 30
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Странно, сначала все работало, а сейчас  изображение во всплывающем окне пропадают. Кеширование отключено.
10 Октября 2016, 15:34:42
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 2169
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля