Описание действий

Материал из CartEnergy
Перейти к: навигация, поиск


Действия определяют доступную в системе функциональность, а также связывают эту функциональность с шаблонами.

Параметры действия в шаблонах доступны через переменную action. Определено несколько подтипов:

  • auth_customer - авторизация клиента (обрабатывает форму customer, вида customer[email, password, auth_token])
  • free - произвольное действие (обрабатывает форму form)
  • checkout - оформление заказа (обрабатывает форму order)
  • manage_cart - работа с корзиной (обрабатывает форму cart, вида cart[id варианта товара][qty, delete] или cart[new][id, product_id, qty, properties])
  • manage_customer - создание/редактирование клиента (обрабатывает форму customer, вида customer[name, email, password, passowrd_confirmation, region_id], )
  • show_category - отобразить категорию (дополнительный аттрибут category - выбранная категория)
  • show_customer - отобразить страницу клиента, всегда требует авторизации (текущий клиент одна из глобальных переменных)
  • show_error - отобразить ошибку (дополнительный аттрибут error - ошибка)
  • show_feed - отобразить ленту (дополнительный аттрибут feed - выбранная лента)
  • show_index - отобразить главную страницу (дополнительный аттрибут category - корневая категория)
  • show_page - отобразить страницу (дополнительные аттрибуты feed - выбранная лента, page - выбранная страница)
  • show_product - отобразить товар (дополнительные аттрибуты category - выбранная категория, product - выбранный товар)
  • switch_currency - изменить валюту (принимает параметр code - код валюты)

Действия, обрабатывающие форму, за исключение manage_cart и switch_currency имеют следующие дополнительные аттрибуты result - результат выполнения (true, false, nil), form - обрабатываемая форма, error - коллекция ошибок по имени поля. Также они должны передавать специальные метаданные в секции [_metadata] соответствующей формы:

  • required_fields - список обязательных полей формы через запятую (это обязательный аттрибут)
  • email_notifications - список уведомлений (через запятую) письма вида: <поле/email отправителя или @>:<поле/email получателя или @>[:необязательный параметр], где @ - заменяет адрес электронной почты канала
  • signature - подпись метаданных вида: названия подписанных полей через запятую:подпись, состоящая из значений подписанных полей в томже порядке через запятую (обязательное поле)

Также поддерживается специальные поля form[captcha][key] - вариант капчи, form[captcha][response] - проверочное слово введенное пользователем.


ShowIndex

Выполняет отображение главной страницы