alexts 18 Опубликовано 29 ноября, 2013 Жалоба Share Опубликовано 29 ноября, 2013 Пользователь не авторизован, заполняет поля. Вот ввел город в поле $INPUT_CITY В этот момент модуль доставки по правилу if ($order->delivery['city'] != ' ') { $this->enabled = true; внятно ловит момент и отображается. То есть инфа о введенном городе уже есть и ею можно воспользоваться. Как? Хочется: поймать момент заполненного поля $INPUT_CITY чтобы управлять отображением конструкции типа: <div id="shipping_modules_box" class="sm_layout_box"> <h3>{$TITLE_SHIPPING_MODULES}</h3> <div id="shipping_options"> {$SHIPPING_BLOCK} </div> <!--div end shipping_options--> </div> <!--div end shipping_modules_box --> Нужно создать условие: {if $INPUT_CITY!=' '}-??????????? <div id="shipping_modules_box" class="sm_layout_box"> <h3>{$TITLE_SHIPPING_MODULES}</h3> <div id="shipping_options"> {$SHIPPING_BLOCK} </div> <!--div end shipping_options--> </div> <!--div end shipping_modules_box --> {/if} Подскажите правильный синтаксис, пожалуйста. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2013 Жалоба Share Опубликовано 29 ноября, 2013 Это через javascript делается. Например посмотрите на поля Регион или Страна, при выборе отправляется ajax запрос на обновление списка доступных модулей доставки. Аналогичным образом делается и с полем город. В общем, используйте jQuery Ajax, на jquery.com есть подробная документация. В checkout.php есть рабочие примеры. Ссылка на сообщение Поделиться на другие сайты
alexts 18 Опубликовано 29 ноября, 2013 Автор Жалоба Share Опубликовано 29 ноября, 2013 Нет, предлагается заход с другого конца без jQuery Ajax, Приведенное и работающее правило для модуля доставки было нужно , чтобы до заполнения поля Город не загромождать страницу не нужной и недостоверной инфой о доставке. И это правило корректно работает. Почему не будет работать скрытие - показ блока? Они же успешно исчезают и появляются по {if !$smarty.session.customer_id}? А так остается заголовок ДОСТАВКА, а под ним ничего. Нужно его спрятать. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 30 ноября, 2013 Жалоба Share Опубликовано 30 ноября, 2013 Я не думаю, что без javascript получится обойтись. Ссылка на сообщение Поделиться на другие сайты
alexts 18 Опубликовано 9 декабря, 2013 Автор Жалоба Share Опубликовано 9 декабря, 2013 И Вы правы. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 9 декабря, 2013 Жалоба Share Опубликовано 9 декабря, 2013 :mrtroll: Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения