Jump to content

Модуль позвонить если цена ноль


Recommended Posts

с чего вдруг делиться то? мне и до стадии деления еще пару миллионов лет, одноклеточные мы.

 

если очень надо можно заглянуть сюда http://www.smarty.net/docsv2/ru/language.function.if.tpl и в шаблон

озарение минут через 5-10 должно настичь)

Link to comment
Share on other sites

Спасибо конечно :), если бы понимал этом что-нибудь довно бы сделал, а так только могу поминять или добавть в .tpl, если скажут что и куда вставить (одним словом програмист :D)

 

Может помогёте? :unsure:

Родина вас не забудет! Честное слово! :)

Link to comment
Share on other sites

для чего это вообще нужно? немогу сообразить..

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

Как-то так!

Link to comment
Share on other sites

  • 4 weeks later...
  • 2 weeks later...

Вот код:

 

<script type="text/javascript" >
$("p.price").each(function () {
$(this).html($(this).html().replace('0,00','<span class="call_us">Заказ по телефону</span>'));
});

 </script>

 

Нужно его разместить "один раз" ниже тех блоков где вы водится цена, если сложно понять, то просто перед </body> его вставьте.

 

Можно и после </head> вставить, но тогда нужно будет дописать document.ready в скрипт.

 

Объясняю что делает скрипт:

 

$("p.price") <- находит объект указанный в кавычках, p означает тэг <p>, если div то <div> соответственно, .price класс элемента, можно так же id, указать, тогда будет к примеру так "p#price". В каком тэге и с каким классом или ID находится цена, можно узнать в браузере chmore в панели вебмастера или мазиле через firebug...

 

далее

 

.each <- берет все объекты со значениями "p.price" на странице

 

далее

 

('0,00','<span class="call_us">Заказ по телефону</span>')

 

Меняет "текст" на "текст" с поддержкой html

 

('Меняет это','На это')

 

В общем скрипт находит значение цены 0,00 и меняет его на <span class="call_us">Заказ по телефону</span>,а уже тут можете менять хоть на картинку, хоть на div блок с бэкграундом или ссылкой на форму отправки сообщения с сайта..

 

----------------------

Все это можно сделать и посредством smarty, задав что то типа {if $price == 0} doSomething {/if} но специально этого не делал и заморачиваться этим сейчас не охота...минусы ява скрипта что он не пашет если в браузере отключено использование ява скриптов..

Link to comment
Share on other sites

Непонятно зачем делать это на js если формирование шаблона не зависит от пользователя и происходит на стороне сервера

 

выше я дал ссылку - один ИФ в шаблон и проблема решена без доп.нагрузки на браузер

Link to comment
Share on other sites

На js было сделать проще всего, вот почему..и самое главное это работает...я хоть какой то вариант предложил решения проблемы.

Link to comment
Share on other sites

  • 4 weeks later...

______________________________________________________________

 

-----Для начала сделайте резервные копии фаилов-----

______________________________________________________________

 

 

Сделал папку /modules/zvonok/ папка для картинок *.png

 

добавляем в файлы из папки /themes/yourtheme/ (your theme - ваша тема :rolleyes:)

 

ИФ для product-list.tpl (/themes/yourtheme/) вставить перед последним </div>

ставлю через quote, потому что через code выходит за поля

 

{if $product.price == 0}<div style="background:url(/modules/zvonok/zvonok.png) no-repeat scroll left top transparent;display:block;float:left;height:67px;width:120px;"></div>{/if}

 

 

ИФ для product.tpl (/themes/yourtheme/) вставить ниже

{if $HOOK_EXTRA_RIGHT}{$HOOK_EXTRA_RIGHT}{/if}

 

ставлю через quote, потому что через code выходит за поля

{if $product->price == 0}<div style="background:url(/modules/zvonok/zvonok_product.png) no-repeat scroll left top transparent;display:block;float:left;height:100px;width:180px;"></div>{/if}

 

ИФ для homefeatured.tpl (в папке /modules/homefeatured) после

{if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}<p class="price_container"><span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span></p>{else}<div style="height:21px;"></div>{/if}

<a class="button" href="{$product.link}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a>

<!-- START zvonok -->

{if $product.price == 0}<div style="background:url(/modules/zvonok/zvonok_homefeat.png) no-repeat scroll left top transparent;display:block;margin-left:6px;float:left;height:50px;width:120px;"></div>{/if}

<!-- END zvonok -->

 

перед

{if ($product.id_product_attribute == 0 OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product.available_for_order AND !isset($restricted_country_mode) AND $product.minimal_quantity == 1 AND $product.customizable != 2 AND !$PS_CATALOG_MODE}

 

можете поиграться с height и width для вашей картинки

 

AFTER MODIFYING FILES DISABLE CACHE AND ENABLE SMARTY FOR DEBUGGING, AND REFRESH FRONT OFFICE, THEN REENABLE CACHE AND DISABLE SMARTY

 

Если что-то не выходит спрашивай-те

Link to comment
Share on other sites

×
×
  • Create New...