Jump to content

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


shaklov

Recommended Posts

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


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

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

Link to post
Share on other sites

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

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


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

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

да

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

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

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

Link to post
Share on other sites

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

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

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

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

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

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

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites
  • 5 months later...

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

Если пишу

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

.......

 

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

 

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

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

Link to post
Share on other sites

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

{if $module_data.PRODUCTS_PRICE_PLAIN > 0}

...

{/if}

Link to post
Share on other sites

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

Сейчас:

 

{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}
 
Link to post
Share on other sites
support

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

Link to post
Share on other sites

Нет что то в синтаксисе не так - checkout_shipping.php грузит чистую страницу

Link to post
Share on other sites
support

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

 

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

{$method_data.price}

на:

{if $method_data.price > 0}{$method_data.price}{/if}
Link to post
Share on other sites

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

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

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

 

{if $method_data.title == 'sogl'}{/if}
 
Link to post
Share on other sites
support

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

 

{if $method_data.title == 'sogl_sogl'}{/if}
Link to post
Share on other sites

Спасибо, попробую.

Вот так и стану крутым программером :D

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...