UMIhelp
Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: Axiomateria от 28 Февраля 2013, 22:57:09
-
Здравствуйте! Требуется Ваша помощь.
Интересует подключение такого маленького, но ответственного "чек-бокса" для фактического подтверждения согласия незарегистрированного покупателя в момент оформления заказа на этапе заполнения своих контактных данных для свершения оплаты выбранных им товаров в корзине.
То есть условие такое: пока покупатель не нажмёт галочку в чек-боксе под названием "Я согласен с условиями договора оферты" кнопка оплатить не активизируется для нажатия.
Есть ли такой уже готовый пример у кого либо ?
-
Если разговор идет о js разблокировании кнопки оформить, то в сети полно примеров, это уже не к umi вопрос. Если вопрос в том, как сделать так, чтобы пользователя не пускало дальше регистрации, заполнение личных данных незарегистрированному пользователю при оформлении заказа или отправке формы обратной связи.... то, добавляем поле типа "кнопка галочка" в соответствующий тип данных, в модуле "Шаблоны данных" и делаем это поле обязательным для заполнения
-
добавляем поле типа "кнопка галочка" в соответствующий тип данных, в модуле "Шаблоны данных" и делаем это поле обязательным для заполнения
- конечно я в первую очередь так и сделал, но не сработало... то есть игнорируя установку галочки в чек-боксе и при последующем нажатии "Сохранить изменения" переход на следующую страницу происходит беспрепятственно...
Скорее всего без JS не обойтись...
Вот я про примеры и спросил - есть ли решения так сказать для UMI ?
-
- конечно я в первую очередь так и сделал, но не сработало... то есть игнорируя установку галочки в чек-боксе и при последующем нажатии "Сохранить изменения" переход на следующую страницу происходит беспрепятственно...
проверить что галочка обязательна....
в какой форме нужно было вывести галочку? в каком типе данных была добавлена галочка?
система не может сохранить форму с данными если какое-то из обязательных полей не заполнено.. она выкидывает пользователя снова на форму
-
в какой форме нужно было вывести галочку? в каком типе данных была добавлена галочка?
Форма - Оформление заказа (где вводятся персональные данные покупателя как имя фамилия и пр.)
Тип данных - Незарегистрированный покупатель
Группа полей - Персональные данные
-
тогда ошибка закралась в какой-то мелочи, так как если все написанное верно, в купе с тем, что галочка обязательно к заполнению, то вы не сможете перейти на другой шаг оформления не отметив галочку
-
тогда ошибка закралась в какой-то мелочи
Это конечно мне и самому очевидно. Но тем не менее вопрос о JS - есть ли у Вас решения или рекомендации по этому случаю, ведь как мне думается изменения надо внести в файл required.xsl
в папке \templates\название_шаблона\xslt\modules\emarket\purchase\
?
А вот и содержимое этого файла:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet SYSTEM "ulang://i18n/constants.dtd:file">
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/TR/xlink">
<xsl:template match="purchasing[@stage = 'required'][@step = 'personal']">
<form enctype="multipart/form-data" method="post" action="{$lang-prefix}/emarket/purchase/required/personal/do/">
<xsl:apply-templates select="document(concat('udata://data/getEditForm/', customer-id))" />
<div class="linker">
<a target="_blank" href="{$lang-prefix}/oferta/"><xsl:text>&contractafertalink;</xsl:text></a>
</div>
<div>
<input type="submit" class="button" value="&save-changes;" />
</div>
</form>
</xsl:template>
</xsl:stylesheet>
-
форму выводит <xsl:apply-templates select="document(concat('udata://data/getEditForm/', customer-id))" />
то есть работайте с шаблоном modules/data/common-edit-form.xsl
я пошел бы такому пути... к каждому выводимому полю добавил вывод css класса или css id с названием поля. Затем повесил js событие на отметку данной галочки
-
работайте с шаблоном modules/data/common-edit-form.xsl
я пошел бы такому пути
Спасибо. Я так понял, что поработать надо с этим шаблоном, который выводит те данные, которые можно редактировать через админку сайта в "Шаблоны данных" -> "Незарегистрированный покупатель" -> Группа полей "Персональные данные" ?
НО я пока решил по простому пути пойти, который успешно реализовал по найденной статье:
http://novice2ninja.ru/jquery-recepies/checkbos-button-recipe.html
-
вариант быстрее и проще, но тогда не будет проверки по php и при недогрузке js или работе злоумышленника, вашу форму можно будет отправить
-
вариант быстрее и проще, но тогда не будет проверки по php и при недогрузке js или работе злоумышленника, вашу форму можно будет отправить
Это я конечно осознаю. Будет чуть больше времени разобраться почему не работает обязательная галочка к заполнению поля - так и сделаем уже по крепкому уму так сказать.
Спасибо!