Перейти к содержанию
Форум поддержки пользователей VamShop

13.Как вместо "бесплатно" выводить другое


shaklov

Рекомендуемые сообщения

Ищем в сформированной цене $module_data.PRODUCTS_PRICE (или подобной) фразу "бесплатно" и обрабатываем условие, например не выводим кнопку "купить":


{if strpos($module_data.PRODUCTS_PRICE, strval('бесплатно')) !== false}
звоните
{else}
{$module_data.PRODUCTS_PRICE}
метка кнопки купить
{/if}[/CODE]

И не нужно править языковой файл, т.к. слово "бесплатно" используется во многих других полезных местах

Ссылка на сообщение
Поделиться на другие сайты

Отличный мануал.

Порой возможности смарти сводят с ума. Если покапаться, то будет вычислять группу крови пользователя :)

http://vk.com/doc15858197_136972357?hash=9e2869579e8059c848

Ссылка на сообщение
Поделиться на другие сайты

' timestamp='1360600778' post='93091']

Ищем в сформированной цене $module_data.PRODUCTS_PRICE (или подобной) фразу "бесплатно" и обрабатываем условие, например не выводим кнопку "купить":


{if strpos($module_data.PRODUCTS_PRICE, strval('бесплатно')) !== false}
звоните
{else}
{$module_data.PRODUCTS_PRICE}
метка кнопки купить
{/if}[/CODE]

И не нужно править языковой файл, т.к. слово "бесплатно" используется во многих других полезных местах

спасибо. нужная информация. а для совсем чайников,которые только учатся: в какой папке и в каком файле это нужно искать?

Ссылка на сообщение
Поделиться на другие сайты

спасибо. нужная информация. а для совсем чайников,которые только учатся: в какой папке и в каком файле это нужно искать?

где угодно, где есть цена :) т.е в модулях. templates/шаблон/module/ и погнали.

Ссылка на сообщение
Поделиться на другие сайты

ок. тогда какой файл в модулях, относится именно за вывод цены товара или за,если нет цены,то за вывод во все товарах слова "бесплатно".

да

[:|||||||:] прав! я правил TXT_FREE и теперь у меня даже при выборе способа доставки, там где самовывоз или бесплатная доставка,стоит текст,который реально ни к селу ни к городу,в том месте. а в товарах,вместо цены, он как раз нужен. но в доставке и оплате,совсем не упёрся.спасибо вам обоим за ответы и за такие подсказки

Ссылка на сообщение
Поделиться на другие сайты

Пожалуйста подскажите:какой файл и в какой папке отвечает за вывод слова бесплатно,вместо цены, только и строго у товаров?

если я ничего не знаю про метки,и не умею их править, могу ли я в этом файле так же как и в В /lang/russian/russian.php TXT_FREE - заменить слово бесплатно, на другую нужную мне информацию? при этом ничего не делая с метками,а просто написав что то другое вместо бесплатно

Ссылка на сообщение
Поделиться на другие сайты

Сам текст в russian.php

Текст менять можно, но везде, где 0 будет этот текст.

Вывод текста идёт из /includes/classes/vam_price.php

Там задаётся условие вывода TXT_FREE

Ссылка на сообщение
Поделиться на другие сайты

Сам текст в russian.php

Текст менять можно, но везде, где 0 будет этот текст.

Вывод текста идёт из /includes/classes/vam_price.php

Там задаётся условие вывода TXT_FREE

смотрите что у нас получается. описываю еще раз: если лезть в lang/russian/russian.php и там искать TXT_FREE - и вместо бесплатно, ставить свой текст, то да, это самый лёгкий путь, ноооооооооооооооооооооооооооооо

Он и не сильно то правильный! Потому что,в таком раскладе, то что я написал в TXT_FREE,вместо "бесплатно" - вылезает и в модулях оплаты и доставки - что уж извините, совсем так не корректно смотрится и реально путает людей. Даже я фигею,когда это там фижу и тоже не понял бы, зайдя в чужой инет магаз, чего это в выборе доставки и оплаты,делает этот текст!?

вот и вопрос: как же мне для всех товаров и услуг, оставить текст который я ставлю вместо "бесплатно" в TXT_FREE.

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

Ссылка на сообщение
Поделиться на другие сайты

Тогда правьте шаблоны, везде где вывыодится цена товара и выставляйте условие, что если цена 0 - выводить текст.

Тогда будет везде где 0 текст, а в модулях доставки, оплаты просто 0.

Ссылка на сообщение
Поделиться на другие сайты
  • 5 months later...

А подскажите пожалуйста , если нужно контролировать не слово "бесплатно" , а  цифру "0"?

Если пишу

{if strpos($module_data.PRODUCTS_PRICE, strval('0')) !== false}

.......

 

То все числовые значения  с 0 попадают под  это условие, к примеру 250, 500 ....

 

Я так понимаю, что из за строкового значения...

Как задать точное, "циферное"  0 ?

Ссылка на сообщение
Поделиться на другие сайты

тогда просто проверка неформатированной цены на больше нуля:

{if $module_data.PRODUCTS_PRICE_PLAIN > 0}

...

{/if}

Ссылка на сообщение
Поделиться на другие сайты

В таком варианте правильный синтаксис - пытаюсь использовать в другом месте

Сейчас:

 

{if strpos($method_data.price, strval('0')) !== false}
 

 

Меняем на :

 

{if $method_data.PRICE_PLAIN > 0}
 

:huh:

 

Я извиняюсь за "борзость" :), но программист на месяц уехал - приходиться лезть не в свое дело.

Как пишется "или" - нужно совместить оба условия?

 

 {if strpos($method_data.price, strval('Бесплатно')) !== false}

 или 

{if $method_data.PRICE_PLAIN > 0}
...
{/if}
 
Ссылка на сообщение
Поделиться на другие сайты

Нет, если это речь про блок со списком модулей доставки, то там нет метки PRICE_PLAIN, там только $method_data.price

Ссылка на сообщение
Поделиться на другие сайты

Так наверное что-то лишнее где-то.

 

Достаточно ведь просто в /templates/шаблон/checkout_shipping_block.html поменять:

{$method_data.price}

на:

{if $method_data.price > 0}{$method_data.price}{/if}
Ссылка на сообщение
Поделиться на другие сайты

Да получилось спасибо.

Я нагородил более сложную конструкцию :(

А как здесь "поймать" модуль sogl по системному имени

 

{if $method_data.title == 'sogl'}{/if}
 
Ссылка на сообщение
Поделиться на другие сайты

бычно доставка задаётся через двойную запись, т.е. sogl_sogl, соответственно, условие:

 

{if $method_data.title == 'sogl_sogl'}{/if}
Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...