Перейти к содержанию
Официальный форум поддержки Simpla

[2.3.2] Согласие с правилами оформления заказа


Тебе понадобилось решение?  

42 пользователя проголосовало

У вас нет разрешения голосовать в этом опросе или просматривать его результаты. Пожалуйста, войдите или зарегистрируйтесь для возможности голосования в этом опросе.

Рекомендуемые сообщения

Набросал простое рабочее решение.
 
Начнем.
Из файла product.tpl перенесем подключение Fancybox в index.tpl, т.е. код:
{* Увеличитель картинок *}
<script type="text/javascript" src="js/fancybox/jquery.fancybox.pack.js"></script>
<link rel="stylesheet" href="js/fancybox/jquery.fancybox.css" type="text/css" media="screen" />

перенесем в index.tpl перед:

{* Автозаполнитель поиска *}

Чуток ниже в фале index.tpl в функции:

$(function() {

добавим:

// Перехватываем событие отправки формы
$("form#cart").submit(function(event){
	if($("#set").attr("checked") != 'checked') {
		$.fancybox( '<h2>Подтвердите отправку ваших данных!</h2>' );
		$("#set").css('background', 'red');
		return false;
	}
	return true;
});

Далее откроем файл cart.tpl и найдем тег <form> и заменим его на:

<form id="cart" method="post" name="cart">

Далее в нужном нам месте (естественно внутри тега <form>) вставим следующий код:

<textarea id="rules">Какой-то текст...</textarea>
<label>Я согласен с правилами</label>
<input type="checkbox" id="set"/>

Готово! У кого получилось ставим плюсик справа внизу поста.

 

Ссылка на сообщение
Поделиться на другие сайты

Можно еще добавить в таблицу настроек поле, куда из админки добавлять/править текст соглашения. Работы меньше, чем написать инструкцию как это сделать :)

Ссылка на сообщение
Поделиться на другие сайты
  • 4 месяца спустя...

А как сделать, чтобы заказ не проходил, пока покупатель не поставит галочку в чек-бокс?

Ссылка на сообщение
Поделиться на другие сайты

А как сделать, чтобы заказ не проходил, пока покупатель не поставит галочку в чек-бокс?

Заказ и так не пройдет пока он не поставит галочку, идет проверка в JS.

Конечно же дополнительно можно сделать проверку в PHP но зачем?

Ссылка на сообщение
Поделиться на другие сайты

У меня заказ проходит на 2.3.5

У Вас не подключен скрипт фенсибокс, он должен быть подключен в index.tpl перед вызовом моего кода.
Ссылка на сообщение
Поделиться на другие сайты

У Вас не подключен скрипт фенсибокс, он должен быть подключен в index.tpl перед вызовом моего кода.

Да, увидел, исправил!

Noxter, Спасибо, что откликнулся!

Ссылка на сообщение
Поделиться на другие сайты
  • 3 месяца спустя...

Нокстер, а у тебя нет готового решщения, чтобы фото товара при увелечении можно было пролистывать на следующее фото?

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Нокстер, а у тебя нет готового решщения, чтобы фото товара при увелечении можно было пролистывать на следующее фото?

Это есть в стандартном шаблоне Simpla CMS.
Ссылка на сообщение
Поделиться на другие сайты
  • 4 года спустя...
	{* Канонический адрес страницы *}
	{if isset($canonical)}<link rel="canonical" href="{$config->root_url}{$canonical}"/>{/if}

	{* Стили *}
	<link href="design/{$settings->theme|escape}/css/style.css" rel="stylesheet" type="text/css" media="screen"/>
	<script src='https://www.google.com/recaptcha/api.js'></script>

	{* JQuery *}
	<script type="text/javascript" src="jquery.cookie.js"></script>
	<script src="js/jquery/jquery.js"  type="text/javascript"></script>
	<script src="design/{$settings->theme}/js/bootstrap.min.js"></script>
	<script src="design/{$settings->theme}/js/scripts.js"></script>
     {literal}
   	<script>
	$(function() {
		$(".top_ul li.selected").parent("ul").show();
		$(".top_ul > li").each(function() {
		$(this).addClass("top_li");
			if ($(this).hasClass("selected"))
			{
				$(this).next("ul").show();
			}
		});
        $(".top_ul li a").click(function(){
           if ($(this).parent().find('ul').length) {
               $(this).parent().siblings().find("a.selected:visible").removeClass("selected");
               $(this).closest('li').children("ul").slideToggle("slow");
               $(this).parent().siblings().find("ul:visible").slideUp("slow");
               $(this).toggleClass("selected");
           return false;
           }
        });
	});
	</script>
	{/literal}
	
	{* Увеличитель картинок *}
    <script type="text/javascript" src="js/fancybox/jquery.fancybox.pack.js"></script>
    <link rel="stylesheet" href="js/fancybox/jquery.fancybox.css" type="text/css" media="screen" />
    <script>
    $(function() {
	// Перехватываем событие отправки формы
    $("form#cart").submit(function(event){
	if($("#set").attr("checked") != 'checked') {
		$.fancybox( '<h2>Подтвердите отправку ваших данных!</h2>' );
		$("#set").css('background', 'red');
		return false;
	}
	return true;
    });
    </script>
    
</head>

Ребят подскажите! все ли верно сделал, а то заказ проходит!

Ссылка на сообщение
Поделиться на другие сайты

Ребят подскажите! все ли верно сделал, а то заказ проходит!

Как минимум нужна ссылка на сайт чтобы проверить работоспособность...
Ссылка на сообщение
Поделиться на другие сайты

Ребят подскажите! все ли верно сделал, а то заказ проходит!

Как минимум нужна ссылка на сайт чтобы проверить работоспособность...

 

Не нужна тут никакая ссылка.

Достаточно минимальных скилов начинающего, чтобы увидеть синтаксические ошибки - элементарно скобки непарные...

Ссылка на сообщение
Поделиться на другие сайты

Не нужна тут никакая ссылка.

Достаточно минимальных скилов начинающего, чтобы увидеть синтаксические ошибки - элементарно скобки непарные...

За чужие, кривые руки я как бы не ручаюсь.

Да в конце не закрыли скобками:

$(function(){
...
});
Ссылка на сообщение
Поделиться на другие сайты
<script type="text/javascript" src="js/fancybox/jquery.fancybox.pack.js"></script>
    <link rel="stylesheet" href="js/fancybox/jquery.fancybox.css" type="text/css" media="screen" />
    <script type="text/javascript">
    $(function() {
    // Перехватываем событие отправки формы
    $("form#cart").submit(function(event)
        {
        if($("#set").attr("checked") != 'checked') {
        $.fancybox( '<h2>Подтвердите отправку ваших данных!</h2>' );
        $("#set").css('background', 'red');
        return false;
    }   
        
    return true;
    })
    });
    </script>

Да видел не хватку скобок, спасибо!

И все равно пропускает заказ

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...