Jump to content

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


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

41 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

Набросал простое рабочее решение.
 
Начнем.
Из файла 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"/>

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

 

Link to post
Share on other sites

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

Link to post
Share on other sites
  • 4 months later...

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

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

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

Link to post
Share on other sites

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

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

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

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

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

Link to post
Share on other sites
  • 3 months later...
  • 1 month later...

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

Это есть в стандартном шаблоне Simpla CMS.
Link to post
Share on other sites
  • 4 years later...
	{* Канонический адрес страницы *}
	{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>

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

Link to post
Share on other sites

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

Как минимум нужна ссылка на сайт чтобы проверить работоспособность...
Link to post
Share on other sites

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

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

 

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

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

Link to post
Share on other sites

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

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

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

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

$(function(){
...
});
Link to post
Share on other sites
<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>

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

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

Link to post
Share on other sites
  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...