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

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

Подскажите, как сделать проверку правильности введенного email

 

по умолчанию на всех формах скрипт проверяет правильность введенной почты. где именно вам нужно проверять

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 78
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Если б еще правильно  проводилась проверка, совсем хорошо было бы...

 

http://forum.simplacms.ru/topic/9829-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8-email-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%BE%D0%B2/

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

по умолчанию на всех формах скрипт проверяет правильность введенной почты. где именно вам нужно проверять

// КУПИТЬ В 1 КЛИК
        $(function() {

                $(".various").fancybox({
                        helpers : {
                                overlay : {
                                        locked : false
                                }
                        },
                        closeBtn: false,
                        fitToView: false,
                        autoSize: true,
                        minHeight: "0",
                        minWidth: "350",
                        scrolling: false,
                        closeClick      : false,
                        openEffect      : 'fade',
                        closeEffect     : 'none'
                });

                $('.oneclickbuy').click( function() {

                        if($('.variants').find('input[name=variant]:checked').size()>0) variant = $('.variants input[name=variant]:checked').val();
if($('.variants').find('select[name=variant]').size()>0)
variant = $('.variants').find('select').val();
                      
                        if( !$('.onename').val() || !$('.onephone').val() || !$('.oneaddress').val()) {
                                alert("Заполните обязательные поля!");
                                return false;
                        }

                        $.ajax({
                                type: "post",
                                url: "/ajax/oneclick.php",
                                data: {amount: 1, variant: variant, name: $('.onename').val() , phone: $('.onephone').val() , email: $('.onemail').val() , address: $('.oneaddress').val() , comment: $('.onecomment').val()},
                                dataType: 'json'
                        });
                      
                        $('.oneclick').hide(200);
                        $("#oneclick").html("<div class='title'>Спасибо за заказ!</div><p>В ближайшее время с вами свяжется наш менеджер!</p><button type='submit' class='button' onclick='$.fancybox.close();$(\".oneclick\").hide();return false;'>Закрыть!</button>");
                      
                        return false;
                      
                });

        });
// END КУПИТЬ В 1 КЛИК
Ссылка на сообщение
Поделиться на другие сайты
  • 5 месяцев спустя...

Здравствуйте. На нестандартном шаблоне (trizzy) кнопка появляется, но клик на неё выбрасывает на главную с урлом /#oneclick. Пробовал и другое решение "покупка в 1 клик" через ajax - то же самое. Подскажите, в чём проблема и как её обойти?

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

Здравствуйте. На нестандартном шаблоне (trizzy) кнопка появляется, но клик на неё выбрасывает на главную с урлом /#oneclick. Пробовал и другое решение "покупка в 1 клик" через ajax - то же самое. Подскажите, в чём проблема и как её обойти?

 

проблема в конфликте jquery. попробуйте заменить в файле скриптов $ на jquery и смотрите как реализованы скриты в шаблоне самом

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

Выводится ошибка в консоли: 

 

Uncaught ReferenceError: variant is not defined 

 

Как исправить? Не подскажите? 

 

Пробовал добавлять var, но тогда заказ оформляется без товара. 

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

Если вопрос про код из #52, вероятно, ошибка в фрагменте

if($('.variants').find('input[name=variant]:checked').size()>0) 
 variant = $('.variants input[name=variant]:checked').val();
if($('.variants').find('select[name=variant]').size()>0)
 variant = $('.variants').find('select').val();

В нем сходу видны несколько недостатков:
1. в одних местах используется $('.variants').find('select[name=variant]'), в других variant = $('.variants').find('select'), в надо бы единообразно.
2. вместо двух последовательных if логичнее было бы использовать if ... elseif

3. не отрабатывается ситуация, когда переменная variant не будет определена (скорее всего, это и есть Ваш случай).

И главное, надо проверять указанные элементы на предмет соответствия верстке Вашего шаблона, при этом еще много чего выплыть может...

 

И само решение несколько корявое, ищет вариант на странице ГЛОБАЛЬНО. Например, это гарантированно не будет работать на странице списка товаров...

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

Если вопрос про код из #52, вероятно, ошибка в фрагменте

if($('.variants').find('input[name=variant]:checked').size()>0) 
 variant = $('.variants input[name=variant]:checked').val();
if($('.variants').find('select[name=variant]').size()>0)
 variant = $('.variants').find('select').val();

В нем сходу видны несколько недостатков:

1. в одних местах используется $('.variants').find('select[name=variant]'), в других variant = $('.variants').find('select'), в надо бы единообразно.

2. вместо двух последовательных if логичнее было бы использовать if ... elseif

3. не отрабатывается ситуация, когда переменная variant не будет определена (скорее всего, это и есть Ваш случай).

 

И главное, надо проверять указанные элементы на предмет соответствия верстке Вашего шаблона, при этом еще много чего выплыть может...

 

И само решение несколько корявое, ищет вариант на странице ГЛОБАЛЬНО. Например, это гарантированно не будет работать на странице списка товаров...

Большое спасибо за подсказку. Всё получилось. 

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

Подскажите как сделать запись

if($('.variants').find('input[name=variant]:checked').size()>0) 
 variant = $('.variants input[name=variant]:checked').val();
if($('.variants').find('select[name=variant]').size()>0)
 variant = $('.variants').find('select').val();

 

если переменная variant не определена (у варианта нет имени )

кусок кода product.tpl:

<form action="cart" class="variations_form cart variants">

	<table class="variations" style='{if $product->variants|count==1  && !$product->variant->name}display:none;{/if}'>
		<tbody>
							<tr>
					<td class="value">
			<!-- Выбор варианта товара -->
			{* Не показывать выбор варианта, если он один и без названия *}
			<select name="variant">
				{foreach $product->variants as $v}
				
                {if $v|count==1  && !$v->name}
                {else}
                <option value="{$v->id}" {if $v->compare_price > 0}compare_price="{$v->compare_price|convert}"{/if}  {if $v->stock}data-stock="{$v->stock}"{/if} data-price="{$v->price|convert}">
				{$v->name}
				</option>
				{/if}
                {/foreach}
			</select>
			<!-- Выбор варианта товара (The End) -->
     
                             </td>
				</tr>
	        		</tbody>
	</table>


	<div class="single_variation_wrap" style="">
		
		<div class="variations_button">
			<div class="added">
			<input type="button" value="-" class="min">
			<input type="number" step="1" name="amount" value="1" title="Количество" class="quantity">
			<input type="button" value="+" class="pl"></div>
			<button type="submit" class="button">В корзину</button>
		</div>
	
	
	
	 <a href="#oneclick" class="button various oneclick">Купить в 1 клик</a>
	
	
	
	</div>
 <div class="stock">     
<link itemprop="availability" href="http://schema.org/InStock" />{if $v->stock}В наличии{else}Под заказ{/if}     
</div> 	
</form>

<script>
{literal}
jQuery(function() {

	// Выбор вариантов
	jQuery('select[name=variant]').change(function() {
		price = jQuery(this).find('option:selected').attr('data-price');
		compare_price = '';
		if(typeof jQuery(this).find('option:selected').attr('compare_price') == 'string')
			compare_price = jQuery(this).find('option:selected').attr('compare_price');
		stock = '';
		if(typeof jQuery(this).find('option:selected').attr('data-stock') == 'string')
			stock = jQuery(this).find('option:selected').attr('data-stock');
		jQuery(this).find('option:selected').attr('compare_price');
		jQuery(this).closest('.resume').find('span.price').html(price);
		jQuery(this).closest('.resume').find('span.old').html(compare_price);
		jQuery(this).closest('form').find('span.stock').html(stock);
		return false;
	});
		
});
</script>
{/literal} 
Изменено пользователем snake
Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Модуль хороший, немного переделал под свои нужды и запилил под нестандартный шаблон! Я использую этот модуль для товаров "под заказ" и "нет на складе", как форму предварительного заказа. В заказ отправляю только имя, телефон, e-mail и комментарий с уже вставленным названием продукта, еще отправляю подтверждение заказа на e-mail клиента.

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

Подскажите, если использовать его с этим шаблоном http://media.simpla-template.org.ua/mobile/ то при нажатии, переходит на главную старницу с сылкой http://localhost/#oneclick.Подключал fansybox 

Тут уже встречался такой вопрос, куда копать подскажите. 

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

Подскажите, если использовать его с этим шаблоном http://media.simpla-template.org.ua/mobile/ то при нажатии, переходит на главную старницу с сылкой http://localhost/#oneclick.Подключал fansybox 

Тут уже встречался такой вопрос, куда копать подскажите. 

Код шаблона покажи, куда вставлял скрипт! Так ничего непонятно!

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

Подскажите, если использовать его с этим шаблоном http://media.simpla-template.org.ua/mobile/ то при нажатии, переходит на главную старницу с сылкой http://localhost/#oneclick.Подключал fansybox 

Тут уже встречался такой вопрос, куда копать подскажите. 

 

конфликт видимо jquery или не правильно подключили фансибокс

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

конфликт видимо jquery или не правильно подключили фансибокс

Фансибокс подключил как и в дефолтном шаблоне. Может быть конфликт, а как выяснить? Как это можно устранить? 

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

Господа, доработку поставил, окно появляется, заказ отправляется но приходит в таком виде

 

Как исправить? Шаблон нестандартный trizzy

 

 

Проблему решил установкой решения отсюда http://templazilla.ru/moduli-i-dopolnenija-simpla-cms/2014/08/20/kupit-v-1-klik.html

 

Заработало, но в заказ приходили товары из сопутствующих, помог совет Kors, за что ему большое спасибо!

 

Пробуйте после

if($('.variants').find('input[name=variant]:checked').size()>0)
variant = $('.variants input[name=variant]:checked').val();

добавить

if($('.variants').find('select[name=variant]').size()>0)
variant = $('.variants').find('select').val();

Если шаблон не стандартный, то, возможно, придется что-то еще делать...

Изменено пользователем snagovskiy
Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте. На нестандартном шаблоне (trizzy) кнопка появляется, но клик на неё выбрасывает на главную с урлом /#oneclick. Пробовал и другое решение "покупка в 1 клик" через ajax - то же самое. Подскажите, в чём проблема и как её обойти?

 

У меня такой же шаблон и была такая же проблема, решилась подключением fancybox в index.tpl

 

<link href="design/{$settings->theme}/scripts/fancybox/jquery.fancybox.css" rel="stylesheet">
<script src="design/{$settings->theme}/scripts/fancybox/jquery.fancybox.pack.js"></script>
Ссылка на сообщение
Поделиться на другие сайты
  • 7 месяцев спустя...

Шаблон UNIVERSAL simpla 2.3.7 не срабатывает кнопка в форме заказа «Отправить».
срабатывает только если нажать на кнопку шаблона «в корзину» а потом «купить в 1 клик». и в форме все норм
Как можно подправить, чтобы она была самостоятельной)?

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

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

 

В настройках в админке стоит пробел. Через корзину, заказ приходит, разделитель есть, а через форму в 1 клик приходит без пробела.

 

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

И возможно ли сделать, чтобы форма работала на странице товаров?

 

Делал по статье: http://templazilla.ru/moduli-i-dopolnenija-simpla-cms/2014/08/20/kupit-v-1-klik.html

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

Может у кого остался модуль с сайта http://templazilla.ru/ - там домен закончился, поделитесь пожалуйста.

Лови https://drive.google.com/open?id=1gKuo3NDBxw9XKdpEK6fheED__YFjsg76

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

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

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

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

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

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

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

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

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

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