Перейти к содержимому


Кнопка "заказ В 1 Клик" Рядом С Кнопкой "корзина"

заказ

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 375

#61 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 24 Май 2013 - 20:59

1. кнопка во всплывающем окне после нажатия на кнопку "купить" добавлена неправильная, она ведет в окно для запроса на звонок, а необходимо, чтобы она вела бы в форму быстрого заказа, а как исправить не знаю. Необходимо сделать кнопку ведущую в форму быстрого заказа (как в шалоне вечность).
2.надо увеличить, размер полей "область" и адрес доставки.

#62 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 25 Май 2013 - 01:54

1. Вам необходимо в шаблоне "Ajax добавление товара в корзину" найти

<a class="nyroModalNew" href="http://form.jotformeu.com/form/20706664959364">Быстрый заказ</a>

и заменить на

<a class="messageBoxToCart nyroModalNew" onclick="$('.nyroModalClose').trigger('click');quickorder('.goodsDataForm', false); return false;">Быстрый заказ</a>

далее в файле main.js найдите

// Быстрый заказ
function quickorder(formSelector) {
// Находим форму, которую отправляем на сервер, для добавления товара в корзину
var formBlock = $($(formSelector).get(0));
// Проверка на существование формы отправки запроса на добавление товара в корзину
if(1 > formBlock.length || formBlock.get(0).tagName != 'FORM') {
alert('Не удалось найти форму добавления товара в корзину');
return false;
}
// Получаем данные формы, которые будем отправлять на сервер
var formData = formBlock.serializeArray();
// Сообщаем серверу, что мы пришли через ajax запрос
formData.push({name: 'ajax_q', value: 1});
// Так же сообщим ему, что нужно сразу отобразить форму быстрого заказа
formData.push({name: 'fast_order', value: 1});
// Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара
$.ajax({
type : "POST",
cache : false,
url : formBlock.attr('action'),
data : formData,
success: function(data) {
var width = $(window).width() * 0.8;
if(width < 800) width = 'auto';
$.fn.nyroModalManual({
				 content: data,
				 gallery: null,
				 resizable: true,
				 autoSizable: true,
				 windowResize: true,
				 width: width,
				 minHeight: 230
});
}
});
return false;
}

и замените на

// Быстрый заказ
function quickorder(formSelector, form) {

var formData = [];
var url = '/cart/add/';

if(form !== false) {
// Находим форму, которую отправляем на сервер, для добавления товара в корзину
var formBlock = $($(formSelector).get(0));
// Проверка на существование формы отправки запроса на добавление товара в корзину
if(1 > formBlock.length || formBlock.get(0).tagName != 'FORM') {
alert('Не удалось найти форму добавления товара в корзину');
return false;
}
// Получаем данные формы, которые будем отправлять на сервер
formData = formBlock.serializeArray();
url = formBlock.attr('action');
}
// Сообщаем серверу, что мы пришли через ajax запрос
formData.push({name: 'ajax_q', value: 1});
// Так же сообщим ему, что нужно сразу отобразить форму быстрого заказа
formData.push({name: 'fast_order', value: 1});
// Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара
$.ajax({
type : "POST",
cache : false,
url : url,
data : formData,
success: function(data) {
var width = $(window).width() * 0.8;
if(width < 800) width = 'auto';
$.fn.nyroModalManual({
				 content: data,
				 gallery: null,
				 resizable: true,
				 autoSizable: true,
				 windowResize: true,
				 width: width,
				 minHeight: 230
});
}
});
return false;
}

2. Пожалуйста, уточните где вы хотите изменить размер данных полей. В сплывающем окне быстрого заказа? Не нашел там поля области, есть только город.

#63 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 25 Май 2013 - 23:50

Просмотр сообщенияСake (25 Май 2013 - 01:54) писал:

1. Вам необходимо в шаблоне "" найти

<a class="nyroModalNew" href="http://form.jotformeu.com/form/20706664959364">Быстрый заказ</a>

и заменить на

<a class="messageBoxToCart nyroModalNew" onclick="$('.nyroModalClose').trigger('click');quickorder('.goodsDataForm', false); return false;">Быстрый заказ</a>

В каком конкретно шаблоне?

#64 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 25 Май 2013 - 23:57

Просмотр сообщенияСake (25 Май 2013 - 01:54) писал:

2. Пожалуйста, уточните где вы хотите изменить размер данных полей. В сплывающем окне быстрого заказа? Не нашел там поля области, есть только город.
вот скрин:

Прикрепленные изображения

  • вид сайта 29.jpg


#65 Koderhan

Koderhan

    Активный участник

  • Модератоpы
  • 6 227 сообщений

Отправлено 27 Май 2013 - 10:58

Для увеличения размера полей ввода.

В файле "main.css".
Добавить в конец файла код:

.input-box #quickDeliveryRegion {
	width: 100%;
}
.input-box #quickDeliveryCity {
	width: 100%;
}
.input-box  textarea {
width: 100%;
}

Для проверки введены ли данные. Если поля ввода пустые то автоматически вставляется слово "Быстрый заказ".
В файле "main.js".
Добавить в конец файла код:

$(function() {
$('.buttons-set button[type="submit"]').click(function(){
if($('#quickDeliveryRegion').attr('value') == '') {
$('#quickDeliveryRegion').attr('value','Быстрый заказ');
}
if($('#quickDeliveryCity').attr('value') == ''){
$('#quickDeliveryCity').attr('value', 'Быстрый заказ');
}
});
});


#66 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 27 Май 2013 - 13:15

Все сделала, но не помогло ни в первом ни во втором случае.

#67 miyako

miyako

    Активный участник

  • Модератоpы
  • 5 372 сообщений

Отправлено 27 Май 2013 - 15:43

Просмотр сообщенияotdyh-i-son.ru (27 Май 2013 - 13:15) писал:

Все сделала, но не помогло ни в первом ни во втором случае.

Попробуйте очистить кэш

#68 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 28 Май 2013 - 01:02

пробовала в двух разных браузерах, кеш обновляла, получается только вот так, скрин 1:

и еще момент, скрин 2:

Прикрепленные изображения

  • вид сайта 30.jpg
  • вид сайта 30.jpg


#69 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 28 Май 2013 - 04:13

Вам необходимо убрать обязательность заполнения поля "Город" в разделе Настройки -> Оформление -> "Настройка полей доставки использующихся при оформлении заказа".

Так же вам необходимо в шаблоне "Ajax добавление товара в корзину" найти

<a class="nyroModalNew" href="http://form.jotformeu.com/form/20706664959364">Быстрый заказ</a>

и заменить на

<a class="messageBoxToCart nyroModalNew" onclick="$('.nyroModalClose').trigger('click');quickorder('.goodsDataForm', false); return false;">Быстрый заказ</a>


#70 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 28 Май 2013 - 07:34

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

#71 Koderhan

Koderhan

    Активный участник

  • Модератоpы
  • 6 227 сообщений

Отправлено 28 Май 2013 - 08:51

Можно в основных настройках поля город и облость оставить как не обезательные.
А в файле Оформление заказа задать как для обязательного заполнения. Для этого достаточно убрать условия.
Например город:
<!-- Если поле города запрашивается -->
				{% IF SETTINGS_ORDER_FIELDS_CITY<3 %}
				  <tr>
					<td width="10%">
					  <label for="deliveryCity">Город:{% IF SETTINGS_ORDER_FIELDS_CITY=1 %}<span class="red">*</span>{% ENDIF %}</label>
					</td>
					<td width="90%">
					  <input id="deliveryCity" name="form[delivery][city]" value="{ORDER_FORM_DELIVERY_CITY}" {% IF SETTINGS_ORDER_FIELDS_CITY=1 %}class="required"{% ENDIF %} />
					</td>
				  </tr>
				{% ENDIF %}
Заменить:
<!-- Если поле города запрашивается -->
				{% IF SETTINGS_ORDER_FIELDS_CITY<3 %}
				  <tr>
					<td width="10%">
					  <label for="deliveryCity">Город:<span class="red">*</span></label>
					</td>
					<td width="90%">
					  <input id="deliveryCity" name="form[delivery][city]" value="{ORDER_FORM_DELIVERY_CITY}" class="required" />
					</td>
				  </tr>
				{% ENDIF %}
Просто удалили условие.

#72 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 28 Май 2013 - 09:48

спасибо большое.

#73 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 28 Май 2013 - 14:43

ответьте на сообщение 68, второй скрин, пожалуйста!!!!!

#74 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 28 Май 2013 - 19:52

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

#75 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 29 Май 2013 - 00:09

На сообщение 68 по скрину 2 вам ответили сообщением http://forum.storela...__60#entry69938

Цитата

нам необходимо это для статистики, насколько популярен именно быстрый заказ

По идее в случае что вам посоветовали выше - так же можно собирать статистику, если город указан - то это обычный заказ, а если не указан, то это быстрый заказ. Если вам все же необходимо заменить поле города, то в шаблоне "Быстрый заказ" найдите

<!-- Если поле города запрашивается -->
		{% IF SETTINGS_ORDER_FIELDS_CITY<3 %}
		  <li class="fields">
			<div class="field">
			  <label for="quickDeliveryCity" {% IF SETTINGS_ORDER_FIELDS_CITY=1 %}class="required"{% ENDIF %}>Город{% IF SETTINGS_ORDER_FIELDS_CITY=1 %}<em>*</em>{% ENDIF %}</label>
			  <div class="input-box">
				<input type="text" id="quickDeliveryCity" name="form[delivery][city]" value="{ORDER_FORM_DELIVERY_CITY}" class="input-text {% IF SETTINGS_ORDER_FIELDS_CITY=1 %}required{% ENDIF %}" maxlength="255" />
			  </div>
			</div>
		  </li>
		{% ENDIF %}

и замените на

<!-- Если поле города запрашивается -->
		{% IF SETTINGS_ORDER_FIELDS_CITY<3 %}
		  <li class="fields" style="display: none;">
			   <input type="hidden" name="form[delivery][city]" value="быстрый заказ" />
		  </li>
		{% ENDIF %}


#76 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 29 Май 2013 - 13:52

насчет города, спасибо супер!! то, что надо.
Насчет кнопки "быстрый заказ из сообщения 68, она не срабатывает, и либо кидает обратно в карточку с товаром, если я пыталась использовать данный алгоритм из карточки с товаром, либо пишет: "Не удалось найти форму добавления товара в корзину.", если я пытаюсь купить товар из списка твоаров, расположенных в некоей категории..

#77 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 30 Май 2013 - 01:00

Просмотр сообщенияotdyh-i-son.ru (29 Май 2013 - 13:52) писал:

насчет города, спасибо супер!! то, что надо.
Насчет кнопки "быстрый заказ из сообщения 68, она не срабатывает, и либо кидает обратно в карточку с товаром, если я пыталась использовать данный алгоритм из карточки с товаром, либо пишет: "Не удалось найти форму добавления товара в корзину.", если я пытаюсь купить товар из списка твоаров, расположенных в некоей категории..

Вероятно блокируется дополнительная функция в onlick попробуйте заменить кнопку

<a class="messageBoxToCart nyroModalNew" onclick="$('.nyroModalClose').trigger('click');quickorder('.goodsDataForm', false); return false;">Быстрый заказ</a>

на следующую

<a class="messageBoxToCart nyroModalNew">Быстрый заказ</a>

и в файл main.js вставьте

$(function() {
$('.nyroModalNew').live('click', function() {
	 $('.nyroModalClose').trigger('click');
	 quickorder('.goodsDataForm', false);
	 return(false);
});
});


#78 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 30 Май 2013 - 06:12

Просмотр сообщенияСake (30 Май 2013 - 01:00) писал:

замените
<a class="messageBoxToCart nyroModalNew" onclick="$('.nyroModalClose').trigger('click');quickorder('.goodsDataForm', false); return false;">Быстрый заказ</a>
на следующую
<a class="messageBoxToCart nyroModalNew">Быстрый заказ</a>
НЕ НАШЛА ИСКОМЫЙ КОД, в каком шаблоне?

Просмотр сообщенияСake (30 Май 2013 - 01:00) писал:

и в файл main.js вставьте
$(function() {
$('.nyroModalNew').live('click', function() {
	 $('.nyroModalClose').trigger('click');
quickorder('.goodsDataForm', false);
return(false);
});
});
ВСТАВИЛА, но ничего не получилось вообще, теперь стоят в  js оба кода:

$(function() {
$('.buttons-set button[type="submit"]').click(function(){
if($('#quickDeliveryRegion').attr('value') == '') {
$('#quickDeliveryRegion').attr('value','Быстрый заказ');
}
if($('#quickDeliveryCity').attr('value') == ''){
$('#quickDeliveryCity').attr('value', 'Быстрый заказ');
}
});
});

$(function() {
$('.nyroModalNew').live('click', function() {
$('.nyroModalClose').trigger('click');
quickorder('.goodsDataForm', false);
return(false);
});
});

#79 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 31 Май 2013 - 00:25

Просмотр сообщенияotdyh-i-son.ru (30 Май 2013 - 06:12) писал:

НЕ НАШЛА ИСКОМЫЙ КОД, в каком шаблоне?

Все в том же шаблоне "Ajax добавление товара в корзину".

Цитата

ВСТАВИЛА, но ничего не получилось вообще, теперь стоят в js оба кода:

Изменения должны быть 2. Если сделать только одно, работать не будет.

#80 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 31 Май 2013 - 09:08

у меня там вот такая сейчас кнопка стоит: <a class="nyroModalNew" href="http://form.jotforme...959364">Быстрый заказ</a></p>
Если я ее заменяю на предложенный Вами код кнопки, тогда у меня слетает вся фаза продолжения приема заказа на сайте.





Темы с аналогичным тегами заказ

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных