Автор Тема: Помогите сменить ярлык в карточке товара!  (Прочитано 204 раз)

24 Августа 2015, 20:53:46
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Сейчас стоит по умолчанию, преста 1.5. На картинке показал: слева "новый" как есть, хочу как справа , красивый ярлычок, возможно ли это?
25 Августа 2015, 09:03:14
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86180
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Внешний вид меняется в стилях. В стандарной теме в файле /themes/default-bootstrap/css/global.css для класса "new-label".
Чтобы узнать название класса в вашей темы, смотрите код страницы.
04 Декабря 2015, 11:36:32
Ответ #2
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Здравствуйте,
Работаю с Prestashop 1.6.1.2. На данный момент в магазине у всех товаров, независимо от того новый товар или со скидкой, отображается ярлык с надписью 'Новый'. Хотя в шаблоне product-list.tpl прописаны условия для товаров New и Sale. Нужно, чтобы у товаров со скидкой отображался соответствующий ярлык, в локализации (в переводах) проверил, там все верно.
Участок кода шаблона product-list.tpl:
{if isset($product.new) && $product.new == 1}
<a class="new-box" href="{$product.link|escape:'html':'UTF-8'}">
<span class="new-label">{l s='New'}</span>
</a>
   {/if}
{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}
<a class="sale-box" href="{$product.link|escape:'html':'UTF-8'}">
<span class="sale-label">{l s='Sale!'}</span>
</a>
{/if}

Подскажите как решить проблему?
04 Декабря 2015, 12:27:28
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86180
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Может у вас изображение а не текст?
Стили проверьте.
04 Декабря 2015, 13:31:08
Ответ #4
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Это именно текст. Стили для класса .new-label прописаны в global.css. Здесь скорее всего проблема в выводе текста. Возможно нужно поставить какое-то дополнительное условие, чтобы для товаров со скидкой страбатывал class="sale-label", а для новых class="new-label" ?
Если брать эту строку кода:
{if isset($product.new) && $product.new == 1}То по сути все товары изначально product.new, а в магазине сейчас у всех $product.new == 1 (var_dump($product.new ) дает string '1').
04 Декабря 2015, 14:04:38
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 20849
  • Репутация: +25278/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Установите меньший срок для товаров в течении которого они будут считаться новыми.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
04 Декабря 2015, 14:36:12
Ответ #6
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Так пробовал. Поставил срок 3 дня. Все товары у которых уже прошло 3 дня с момента добавления на сайт - без ярлыка. Но и товары со скидкой - также без ярлыка. Как быть?
04 Декабря 2015, 14:53:36
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 20849
  • Репутация: +25278/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Если удалить условие показа текста Скидка
{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}Будет показан этот текст?
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
04 Декабря 2015, 15:43:28
Ответ #8
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Да, если полностью удалить условие, то показывается текст 'Скидка'. На главной странице есть список с id="home-page-tabs". Это вкладки Новинки, Бестселлеры, Скидки. При удалении условия скидка показывается везде, на каждой вкладке. В Новинках много товаров со скидкой. Но вот когда переходишь на вкладку Скидки, то там только один товар отображается. Почему так?
04 Декабря 2015, 16:02:18
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 1255
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
У товара нужно указать "Показывать иконку "распродажа" на странице товара и в тексте со списком товаров."
04 Декабря 2015, 17:26:05
Ответ #10
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Спасибо за помощь, галочку не заметил. Теперь все стало на свои места. Галочку можно выставлять автоматически при импорте товаров файлом csv?
04 Декабря 2015, 17:49:51
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 1255
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В файле импорта в колонке Распродажа установить 1.
04 Декабря 2015, 18:09:32
Ответ #12
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля