Ответить Новая тема Новый опрос 
 Иконки "скидка", "распродажа" на картинках товара
warezliker
Новичок
Сообщений: 28
Регистрация: 24-04-2012


11-12-2012 19:47
Идея такова:
на все товары со скидкой повесить иконку в уголок, с надписью "скидка", "распродажа" и т.п. Аналогично функционалу "новинка", для того, чтобы товары со сниженной ценой привлекали к себе внимание (у меня категории товаров сверстан плиткой), поэтому никаких доп. надписей рядом с товарами нет да и внимание покупателей явно больше привлечет картинка, нежели надпись.

Есть модуль Sticker Pro, но он просто вешает иконки на определенные товары, но товары в нем указывать надо вручную, это убивает всю его гибкость в этом плане (если скидка действует с такого-то по такое-то и товаров штук так 50, то уследить невозможно).

У кого какие идеи на этот счет? возможна ли реализация такой фишки? (есть мысль, что надо открыть product.tpl и попробовать сделать все по аналогии с "новинками", но пока ничего не вышло)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
geomagi
Профессионал
Сообщений: 1327
Регистрация: 12-11-2010


12-12-2012 02:57
Если не используйте состояние товара (а я уверен что не используйте, так как в шаблонах нет вывода этой информации) то можно за счет этой скрытой функции организовать то что Вы хотите. Как выводить в шаблон описано здесь http://prestadev.ru/forum/tema-5816.html&highlight= ну а дальше сами знаете.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
warezliker
Новичок
Сообщений: 28
Регистрация: 24-04-2012


12-12-2012 03:14
Почитал. С этим все понятно, но, на мой взгляд, это мало чем будет отличаться от стандартной надписи "распродажа", которая ставится в карте товара вне зависимости от цены.
Суть в чем:
у меня есть часть товаров, которые я по каким-то причинам хочу продвинуть.
Люди лучше всего реагируют на яркое предложение, ограниченное во времени (зайдите в любой супермаркет, вам натыкают кучу флаеров с надписями с 1-го по 5-е на все яйца фирмы "Кукуевская птицефабрика" скидки 40% - вы поймете, о чем я говорю).

Частично это у меня реализовано:
Престашоп позволяет задавать скидки на товар в каких-то пределах времени.
Я купил счетчик, который отображает, сколько времени осталось до окончания скидки на этот товар. Переделал его под свои нужды - уже хорошо.

Теперь я хочу отобразить иконки на всех товарах, на которые я делаю скидки. Равно, как и надпись "цена снижена" в карточке товара, они должны включаться и отключаться динамически, по мере того, действует сейчас скидка или нет.

Зачем это нужно, если и так есть отдельный вывод товаров со скидкой? Для наглядности и увеличения продаж. Люди с контекста и поиска попадают в категории товаров, мало кто шарится по всему сайту.
Товарищ ведет хорошую статистику по своему магазину, говорит. что эти картинки и счетчики очень хорошо работают.
Магазин у меня больше как хобби, но хотелось бы не только ковыряться в коде, а еще и получать прибыль.

 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
geomagi
Профессионал
Сообщений: 1327
Регистрация: 12-11-2010


12-12-2012 04:32
Ну со скидкой все легко и не надо изобретать велосипед, кто Вам сказал что вместо надписи нельзя вывести картинку? Если хорошо вглядеться в шаблон product-list.tpl то можно заметить что надпись "Reduced price!" появляется только при том условии когда цена снижена. Что бы вместо нее вывести картинку а не надпись удаляем
Цитата:
{l s='Reduced price!'}
и в место нее пишем
Цитата:
<img src="http://Полный_путь_до_картинки .png" alt=""/>
Как можно увидеть расширение обязательно .png , так вместо надписи появится картинка, если путь правильно укажете. Но как я понял Вам надо вывести так как Sticker Pro выводит. Для этого вырезаем тот код целиком что выше проделали и находим в том же файле такое
Цитата:
<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /></a>
и вставляем код до закрывающего </a> и elseif заменяем на if , должно получится так
Цитата:
<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} />{if isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="discount"><img src="http://Полный_путь_до_картинки .png" alt=""/></span>{/if}</a>
результат не совсем тот что нам надо, по этому продолжаем. Находим в нашем новом коде такое
Цитата:
<span class="discount">
и дописываем до такого
Цитата:
<span class="discount" style="display: block; position: absolute; top: 1px; left: 1px;">
и видим что все получилось. Для ясности в примере позиция выбрана верхний левый угол но по желанию можете сами поэкспериментировать и выбрать подходящую для Вас позицию сами подбирая top иleft. так получится вывести только одну картинку а на счет других я не знаю, вроде статус то один.


Сообщение отредактировано geomagi 12-12-2012 01:40 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
warezliker
Новичок
Сообщений: 28
Регистрация: 24-04-2012


12-12-2012 19:03
спасибо огромное, все получилось! Стили, правда, в ксс засунул, т.к. мне так удобнее, но смысл тот же.

Пока, правда, почему-то не вышло сделать по аналогии в карточке товара (упорно не хочет выводиться картинка с надписью "скидка" после фотографии товара), но, думаю, разберусь

ссылку на модуль счетчика кину в личку
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
warezliker
Новичок
Сообщений: 28
Регистрация: 24-04-2012


12-12-2012 21:26
Все же еще раз прошу помощи.
Ситуация такая:
я нашел код, выводящий слово "скидка" в карточке товара.
Вместо слова поставил картинку "скидка", проверил - все хорошо, она отображается. Т.е. проверка условий происходит, все отлично.
Начал смотреть участок кода, который выводит фото товара:
Цитата:
{* product img *}
  <div id="image-block" class="bordercolor">
  {if $have_image}
<img src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large')}"
{if $jqZoomEnabled}class="jqzoom" alt="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'thickbox')}"{else} title="{$product->name|escape:'htmlall':'UTF-8'}" alt="{$product->name|escape:'htmlall':'UTF-8'}" {/if} id="bigpic" width="{$largeSize.width}" height="{$largeSize.height}" />
  {else}   
  <img src="{$img_prod_dir}{$lang_iso}-default-large.jpg" id="bigpic" alt="" title="{$cover.legend|escape:'htmlall':'UTF-8'}" width="{$largeSize.width}" height="{$largeSize.height}" />
  {/if}
  </div>
По идее, иконку "скидки" мне надо вывести до или после изображения товара (я решил сделать до). Следовательно, я добавил кусок кода, проверяющего, есть ли скидка сейчас на товар:
Цитата:
{if $product->specificPrice AND $product->specificPrice.reduction AND $productPriceWithoutRedution > $productPrice}
      <span class="test_discount"><img src="img/skidka.png" alt=""/></span>
{/if}

сразу после
Цитата:
<div id="image-block" class="bordercolor">


Результата ноль. Попробовал вставить после {if $have_image} (т.е. иконка должна бы выводиться, если у товара есть фото). Тоже без результатов. Решил, что косячу где-то в условиях и сделал еще одну конструкцию вида
{elseif $have_image AND $product->specificPrice AND $product->....}. Безрезультатно.
Решил, что косяк где-то в стилях и фото товара перекрывает иконку. Глянул исходный код страницы - ссылок на иконку нет. Закоментил вывод фотографии товара, оставил только условие, выводящее иконку скидок. Результата ноль. Убрал условие, проверяющее, есть ли сейчас скидка (оставил только <span class="test_discount"><img src="img/skidka.png" alt=""/></span>) - вуаля, иконка на месте...

Такое впечатление, что именно в этом куске кода проверка, есть ли у товара скидка, не проходит.
Почему - так и не разобрался. Если у кого-то есть какие-то мысли - прошу помочь.
Спасибо


Сообщение отредактировано warezliker 12-12-2012 22:26 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
warezliker
Новичок
Сообщений: 28
Регистрация: 24-04-2012


12-12-2012 21:54
Отвечу сам себе, но вдруг кому пригодится:
Убрал из проверки на скидку $productPriceWithoutRedution - все заработало.

С чем связано - не понимаю, нашлось методом научного тыка
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос