[color=#282828][font=arial, verdana, tahoma, sans-serif]Хочу сделать, чтобы при оформлении заказа радио-переключатель был по умолчанию на “Оформить заказ без регистрации”.[/font][/color]
[color=#282828][font=arial, verdana, tahoma, sans-serif]Добавил в файле templates / views / checkout / components / checkout_login.tpl такой javascript код[/font][/color]
[color=#282828][font=arial, verdana, tahoma, sans-serif] [/font][/color][color=#282828][font=arial, verdana, tahoma, sans-serif]Все получилось . Это нормальное решение или можно сделать лучше?[/font][/color]
[color=#282828][font=arial, verdana, tahoma, sans-serif]Хочу сделать, чтобы при оформлении заказа радио-переключатель был по умолчанию на “Оформить заказ без регистрации”.[/font][/color]
[color=#282828][font=arial, verdana, tahoma, sans-serif]Добавил в файле templates / views / checkout / components / checkout_login.tpl такой javascript код[/font][/color]
[color=#282828][font=arial, verdana, tahoma, sans-serif] [/font][/color][color=#282828][font=arial, verdana, tahoma, sans-serif]Все получилось . Это нормальное решение или можно сделать лучше?[/font][/color]
[/quote]
Главное, чтобы вам нравилось, скоро обновление, там всё равно будет изменен чекаут.
Подскажите, пожалуйста, можно ли реализовать следующую задачу:
Отображение количества товаров в наличии следующим образом - от 1 до 5 показывается конкретными цифрами, а если 6 и больше - тогда надпись: “больше 5”?
Подскажите, пожалуйста, можно ли реализовать следующую задачу:
Отображение количества товаров в наличии следующим образом - от 1 до 5 показывается конкретными цифрами, а если 6 и больше - тогда надпись: “больше 5”?
Даниил, здравствуйте. В продолжение темы, которую мы с вами обсуждали про ajax.
Сделал постконтроллер для карточки товара. В нем определил переменные и передал в смарти.
В шаблоне карточки товара (через свой доп. модуль) использую эти переменные. Все хорошо. Но как только выбираю опцию, определенные в постконтроллере переменные обнуляются, они пустые. Соответственно условие не проходит.
Как я говорил при выборе опции в карточке mode с “view” меняется на “options”. Думаю, что из-за этого и не вижу эти переменные.
Но как сделать, чтобы определенные, рассчитанные в постконтроллере переменные были доступны не только в режиме view ($mode == view), но и в options ???
Даниил, здравствуйте. В продолжение темы, которую мы с вами обсуждали про ajax.
Сделал постконтроллер для карточки товара. В нем определил переменные и передал в смарти.
В шаблоне карточки товара (через свой доп. модуль) использую эти переменные. Все хорошо. Но как только выбираю опцию, определенные в постконтроллере переменные обнуляются, они пустые. Соответственно условие не проходит.
Как я говорил при выборе опции в карточке mode с “view” меняется на “options”. Думаю, что из-за этого и не вижу эти переменные.
Но как сделать, чтобы определенные, рассчитанные в постконтроллере переменные были доступны не только в режиме view ($mode == view), но и в options ???
[/quote]
Сделать pre или post контроллер на тот который не обрабатывает ваши переменные.
Сделать pre или post контроллер на тот который не обрабатывает ваши переменные.
[/quote]
Даниил, не понял малость. при смене опций меняется режим, а контроллер заново не выполняется, если я правильно понял. Эта строчка в контролере передает переменную в смарти.
Забыл добавить, может важно, что работа с этими переменными ведется в div, который обновляется ajax. Может с этим что связано?
[/quote]
Когда выбираете опцию, отправляется Ajax запрос на какой то контроллер. Найдите этот контроллер (вы его уже нашли $runtime.controller и $runtime.mode).
Сделайте post контроллер на этот контроллер (который Ajax запрос обрабатывает) и выполните нужны вам код, тоже самое, что делаете для карточки товара.
Просто при выборе опций шаблоны обновляются другим контроллером, допишите его и верните нужные данные в smarty.
Даниил, в том-то все и дело, что [color=#282828][font=arial, verdana, tahoma, sans-serif]$runtime.controller и $runtime.mode [/font][/color][color=#282828][font=arial, verdana, tahoma, sans-serif]выдают сразу при загрузке (обновлении) страницы следующее:[/font][/color]
[color=#282828][font=arial, verdana, tahoma, sans-serif]контроллер не меняется ведь. А так у меня уже написан post контроллер для контроллера products. Именно в этом post контроллере и рассчитываются переменные для режима view, которые в нем же и выдаются в смарти. Пробовал в своем post контроллере ставить проверку на условие view == 'options' - результата нет. [/font][/color]
[color=#282828][font=arial, verdana, tahoma, sans-serif]Из-за того, что нет результата и что [/font][/color][color=#282828][font=arial, verdana, tahoma, sans-serif]$runtime.controller остается равным products при выборе опции, я и сделал вывод, что при выборе опции контроллер products не исполняется заново. [/font][/color]
[color=#282828][font=arial, verdana, tahoma, sans-serif]Или я туплю по-страшному? Неужели при отображении карточки товара и изменении опции у товара работают разные контроллеры? Как тогда узнать какой работает при смене опции?[/font][/color]
[color=#282828][font=arial, verdana, tahoma, sans-serif]Или я туплю по-страшному? Неужели при отображении карточки товара и изменении опции у товара работают разные контроллеры? Как тогда узнать какой работает при смене опции?[/font][/color]
[/quote]
Отображение карточки выполняется
products.view
А обновление опций
products.options
Всё нормально.
Отображение это GET , а пересчёт опций это Ajax запрос POST на другой мод.
Когда вы добавляете товар в корзину, запрос куда улетает? Страница остаётся прежней и обновляются блоки.
Даниил, смотрел я видео про ajax раза 4 уже. Но не нашел информации, которая помогла бы мне. Сорри, за мою тормознутость конечно. Но я так и не понял, как мне получить мои переменные при смене опций
Даниил, смотрел я видео про ajax раза 4 уже. Но не нашел информации, которая помогла бы мне. Сорри, за мою тормознутость конечно. Но я так и не понял, как мне получить мои переменные при смене опций
[/quote]
У вас уже products.post.php в котором вы получаете нужные данные для карточки товара (мод view)
Ajax запрос отправляется постом на мод options .
Сделайте в своём пост контроллере секцию для мода “options” и в ней получите и выведите нужную информацию.
Даниил, в том-то все и дело, что я с самого начала так и делал, но не работает. Вот что у меня в пост. контроллере:
<br />
use Tygh\Registry;<br />
if (!defined('BOOTSTRAP')) { die('Access denied'); }<br />
if ($mode == 'view') {<br />
тут код для расчета переменных<br />
}<br />
<br />
if ($mode == 'options') {<br />
тут точно такой же код для расчета переменных<br />
}<br />
Когда карточка только открывается, то переменные рассчитываются, т.е. срабатывает условие по моду = view, но когда идет изменение опций у товара, то условие по моду = options не срабытывает