shaklov 63 Posted February 11, 2013 Report Share Posted February 11, 2013 Ищем в сформированной цене $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
KoVaLsKy 59 Posted February 11, 2013 Report Share Posted February 11, 2013 Отличный мануал. Порой возможности смарти сводят с ума. Если покапаться, то будет вычислять группу крови пользователя :) http://vk.com/doc15858197_136972357?hash=9e2869579e8059c848 Link to post Share on other sites
sheldon 1 Posted February 11, 2013 Report Share Posted February 11, 2013 ' 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
KoVaLsKy 59 Posted February 12, 2013 Report Share Posted February 12, 2013 спасибо. нужная информация. а для совсем чайников,которые только учатся: в какой папке и в каком файле это нужно искать? где угодно, где есть цена :) т.е в модулях. templates/шаблон/module/ и погнали. Link to post Share on other sites
sheldon 1 Posted February 13, 2013 Report Share Posted February 13, 2013 ок. тогда какой файл в модулях, относится именно за вывод цены товара или за,если нет цены,то за вывод во все товарах слова "бесплатно". да [:|||||||:] прав! я правил TXT_FREE и теперь у меня даже при выборе способа доставки, там где самовывоз или бесплатная доставка,стоит текст,который реально ни к селу ни к городу,в том месте. а в товарах,вместо цены, он как раз нужен. но в доставке и оплате,совсем не упёрся.спасибо вам обоим за ответы и за такие подсказки Link to post Share on other sites
sheldon 1 Posted February 16, 2013 Report Share Posted February 16, 2013 Пожалуйста подскажите:какой файл и в какой папке отвечает за вывод слова бесплатно,вместо цены, только и строго у товаров? если я ничего не знаю про метки,и не умею их править, могу ли я в этом файле так же как и в В /lang/russian/russian.php TXT_FREE - заменить слово бесплатно, на другую нужную мне информацию? при этом ничего не делая с метками,а просто написав что то другое вместо бесплатно Link to post Share on other sites
support 447 Posted February 17, 2013 Report Share Posted February 17, 2013 Сам текст в russian.php Текст менять можно, но везде, где 0 будет этот текст. Вывод текста идёт из /includes/classes/vam_price.php Там задаётся условие вывода TXT_FREE Link to post Share on other sites
sheldon 1 Posted February 17, 2013 Report Share Posted February 17, 2013 Сам текст в 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
support 447 Posted February 17, 2013 Report Share Posted February 17, 2013 Тогда правьте шаблоны, везде где вывыодится цена товара и выставляйте условие, что если цена 0 - выводить текст. Тогда будет везде где 0 текст, а в модулях доставки, оплаты просто 0. Link to post Share on other sites
alexts 18 Posted August 1, 2013 Report Share Posted August 1, 2013 А подскажите пожалуйста , если нужно контролировать не слово "бесплатно" , а цифру "0"? Если пишу {if strpos($module_data.PRODUCTS_PRICE, strval('0')) !== false} ....... То все числовые значения с 0 попадают под это условие, к примеру 250, 500 .... Я так понимаю, что из за строкового значения... Как задать точное, "циферное" 0 ? Link to post Share on other sites
shaklov 63 Posted August 2, 2013 Author Report Share Posted August 2, 2013 тогда просто проверка неформатированной цены на больше нуля: {if $module_data.PRODUCTS_PRICE_PLAIN > 0} ... {/if} Link to post Share on other sites
alexts 18 Posted August 2, 2013 Report Share Posted August 2, 2013 В таком варианте правильный синтаксис - пытаюсь использовать в другом месте Сейчас: {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 447 Posted August 2, 2013 Report Share Posted August 2, 2013 Нет, если это речь про блок со списком модулей доставки, то там нет метки PRICE_PLAIN, там только $method_data.price Link to post Share on other sites
alexts 18 Posted August 2, 2013 Report Share Posted August 2, 2013 То есть вот так правильно? {if $method_data.price > 0} Link to post Share on other sites
support 447 Posted August 2, 2013 Report Share Posted August 2, 2013 По идее, да. Link to post Share on other sites
alexts 18 Posted August 2, 2013 Report Share Posted August 2, 2013 Нет что то в синтаксисе не так - checkout_shipping.php грузит чистую страницу Link to post Share on other sites
support 447 Posted August 2, 2013 Report Share Posted August 2, 2013 Так наверное что-то лишнее где-то. Достаточно ведь просто в /templates/шаблон/checkout_shipping_block.html поменять: {$method_data.price} на: {if $method_data.price > 0}{$method_data.price}{/if} Link to post Share on other sites
alexts 18 Posted August 2, 2013 Report Share Posted August 2, 2013 Да получилось спасибо. Я нагородил более сложную конструкцию :( А как здесь "поймать" модуль sogl по системному имени {if $method_data.title == 'sogl'}{/if} Link to post Share on other sites
support 447 Posted August 2, 2013 Report Share Posted August 2, 2013 бычно доставка задаётся через двойную запись, т.е. sogl_sogl, соответственно, условие: {if $method_data.title == 'sogl_sogl'}{/if} Link to post Share on other sites
alexts 18 Posted August 2, 2013 Report Share Posted August 2, 2013 Спасибо, попробую. Вот так и стану крутым программером :D Link to post Share on other sites
support 447 Posted August 2, 2013 Report Share Posted August 2, 2013 Удачи Link to post Share on other sites
Recommended Posts