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


Форма Быстрого Заказа В Шаблоне Мокко


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

#21 miyako

miyako

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

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

Отправлено 17 Апрель 2013 - 09:46

Просмотр сообщенияВладимир_БИНГО (17 Апрель 2013 - 08:35) писал:

Добрый день. Подскажите пожалуйста, как мне сделать выплывающее окно "заказ в 1 клик" так же, как это реализованно в шаблоне вечность? Сайт bingosklad.ru

Воспользуйтесь инструкцией на форуме - http://forum.storela...лон/#entry58702

#22 pasiki

pasiki

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

  • Пользователи
  • PipPipPipPip
  • 231 сообщений
  • ГородСанкт-Петербург

Отправлено 17 Апрель 2013 - 17:23

Еще один вопрос по форме быстрого заказа в шаблоне Мокко.

В нем в шаблоне "Оформление заказа" для выбора способа оплаты используется массив {% FOR order_payment %}. В добавленном же из Вечности шаблоне "Быстрый заказ" для вывода способов оплаты перебирается массив {% FOR available_payment_list %}. В итоге в моей форме выбора способа оплаты просто нет, похоже что массив пуст, и условие {% IFNOT order_delivery.available_payment_list_empty %} не проходит.

Как с этим правильно разобраться, чтобы выбор способа оплаты отображался и работал?

P.S. И вопрос http://forum.storela...кко/#entry60661 по-прежнему актуален.

#23 skoroskoro

skoroskoro

    Пользователь

  • Пользователи
  • PipPip
  • 23 сообщений
  • ГородКрасноярск

Отправлено 17 Апрель 2013 - 18:16

Просмотр сообщенияСake (17 Апрель 2013 - 03:22) писал:

Вероятно проблема в шаблоне, так как в каждом шаблоне разные версии jquery и от этого идут конфликты. В принципе можно и не использовать fancybox из-за которого получаются конфликты и в итоге не работает окно. Можно использовать стандартную возможность шаблона, а именно nyroModalManual. Все что в данном случае понадобиться - это закачать к себе шаблон order_fast.htm и в 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;
}

т.е если подобный код уже стоит, то его необходимо удалить. Кнопки останутся те же.

Сделал по такому принципу. Теперь вопрос, как на него стили прописать? Окно вылазит сильно широкое.

#24 pasiki

pasiki

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

  • Пользователи
  • PipPipPipPip
  • 231 сообщений
  • ГородСанкт-Петербург

Отправлено 17 Апрель 2013 - 23:56

Просмотр сообщенияskoroskoro (17 Апрель 2013 - 18:16) писал:

Сделал по такому принципу. Теперь вопрос, как на него стили прописать? Окно вылазит сильно широкое.

В main.js за это var width отвечает.
Я просто у себя прописал var width = 900 без каких-то условий.

#25 Сake

Сake

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

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

Отправлено 18 Апрель 2013 - 02:48

Просмотр сообщенияpasiki (17 Апрель 2013 - 08:56) писал:

Еще один вопрос, по обновлению корзины.
В шаблоне "Быстрый заказ" переписал код обновления данных корзины (аналогично "Ajax добавление товара в корзину"):

Однако при нажатие на быстрого заказа строчка "В твоей корзине..." не обновляется, а просто исчезает.
Что я делаю не так?
Спасибо.

Используйте следующий код

<span style="display: none;">
<strong class="newCartCount">
	{% IF cart_count_empty %}
	  <span class="red">0</span> шт.
	{% ELSE %}
	  {% FOR cart_count %}
		{cart_count.COUNT}{cart_count.MEASURE_NAME}{% IFNOT cart_count.last %},{% ENDIF %}
	  {% ENDFOR %}
	{% ENDIF %}
  </strong>
  на сумму
  <strong class="newCartSum">
	{% IF cart_count_empty %}
	  <span class="red">0</span> {CURRENCY_NAME}.
	{% ELSE %}
	  {% FOR cart_sum %}
		{cart_sum.NOW | money_format}.<br />
	  {% ENDFOR %}
	{% ENDIF %}
  </strong>
</span>
<!-- Обновление данных корзины -->
<script>
$('#cartSum').html($('.newCartSum').html());
$('#cartCount').html($('.newCartCount').html());
</script>

Цитата

В нем в шаблоне "Оформление заказа" для выбора способа оплаты используется массив {% FOR order_payment %}. В добавленном же из Вечности шаблоне "Быстрый заказ" для вывода способов оплаты перебирается массив {% FOR available_payment_list %}. В итоге в моей форме выбора способа оплаты просто нет, похоже что массив пуст, и условие {% IFNOT order_delivery.available_payment_list_empty %} не проходит.

Как с этим правильно разобраться, чтобы выбор способа оплаты отображался и работал?

Разработчики будут уведомлены о данной проблеме в шаблоне.

#26 skoroskoro

skoroskoro

    Пользователь

  • Пользователи
  • PipPip
  • 23 сообщений
  • ГородКрасноярск

Отправлено 18 Апрель 2013 - 05:54

Просмотр сообщенияpasiki (17 Апрель 2013 - 23:56) писал:

В main.js за это var width отвечает.
Я просто у себя прописал var width = 900 без каких-то условий.

Я не сильно силен в верстке и кодах. Подскажи пожалуйста по конкретней куда это записать.

#27 Vaccina

Vaccina

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

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

Отправлено 18 Апрель 2013 - 06:38

Вам необходимо строки

windowResize: true,
width: width,
minHeight: 230

заменить на

windowResize: true,
width: 800,
minHeight: 230

где вместо 800 вы можете задать необходимый вам размер блока по ширине.

#28 pasiki

pasiki

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

  • Пользователи
  • PipPipPipPip
  • 231 сообщений
  • ГородСанкт-Петербург

Отправлено 18 Апрель 2013 - 10:58

Просмотр сообщенияСake (18 Апрель 2013 - 02:48) писал:

Используйте следующий код...

У меня изменен шаблон в этом месте. Нет ни cartSum, ни cartCount. Все сведено в cartLines.
Вывод корзины выглядит так:
<span id="cartLines">
		 В твоей корзине<br />
		 {% FOR cart_count %}
			 {cart_count.COUNT} товар{cart_count.COUNT | gen_word_end("","а","ов")}
		 {% ENDFOR %}
		 {% FOR cart_sum %}
			 на {cart_sum.NOW | money_format}
		 {% ENDFOR %}
</span>

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

Цитата

Разработчики будут уведомлены о данной проблеме в шаблоне.

Спасибо.

#29 Сake

Сake

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

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

Отправлено 19 Апрель 2013 - 02:31

Вы можете попробовать использовать код

<script>
$('#cartLines').html('В твоей корзине<br />{% FOR cart_count %}{cart_count.COUNT} товар{cart_count.COUNT | gen_word_end("","а","ов")}{% ENDFOR %}{% FOR cart_sum %} на {cart_sum.NOW | money_format}{% ENDFOR %}');
</script>


#30 Zhuravlev

Zhuravlev

    Пользователь

  • Пользователи
  • PipPip
  • 27 сообщений

Отправлено 19 Апрель 2013 - 16:47

Здравствуйте. Добавил функцию заказа в 1 клик. Все работает, но изображения товаров вообще не открываются. Прошу помощи! pm-sport.ru

#31 pasiki

pasiki

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

  • Пользователи
  • PipPipPipPip
  • 231 сообщений
  • ГородСанкт-Петербург

Отправлено 19 Апрель 2013 - 17:55

Просмотр сообщенияСake (19 Апрель 2013 - 02:31) писал:

Вы можете попробовать использовать код

<script>
$('#cartLines').html('В твоей корзине<br />{% FOR cart_count %}{cart_count.COUNT} товар{cart_count.COUNT | gen_word_end("","а","ов")}{% ENDFOR %}{% FOR cart_sum %} на {cart_sum.NOW | money_format}{% ENDFOR %}');
</script>

Бинго! Спасибо, все работает. Чем данный код принципиально отличается от того, что было раньше - правда не понял :huh:

#32 Сake

Сake

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

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

Отправлено 20 Апрель 2013 - 01:23

Просмотр сообщенияrrmarket (19 Апрель 2013 - 16:47) писал:

Здравствуйте. Добавил функцию заказа в 1 клик. Все работает, но изображения товаров вообще не открываются. Прошу помощи! pm-sport.ru

Используйте следующую инструкцию по добавлению функции заказа в 1 клик

http://forum.storela...кко/#entry60631

Просмотр сообщенияpasiki (19 Апрель 2013 - 17:55) писал:

Бинго! Спасибо, все работает. Чем данный код принципиально отличается от того, что было раньше - правда не понял :huh:

Возможно у вас присутствовало несколько блоков с одним идентификатором newCartData

#33 Zhuravlev

Zhuravlev

    Пользователь

  • Пользователи
  • PipPip
  • 27 сообщений

Отправлено 20 Апрель 2013 - 09:05

Просмотр сообщенияСake (20 Апрель 2013 - 01:23) писал:

Используйте следующую инструкцию по добавлению функции заказа в 1 клик

http://forum.storela...кко/#entry60631


Спасибо, все работает. Но теперь в форме быстрого заказа пропали варианты оплаты. До этого они были

#34 Сake

Сake

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

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

Отправлено 23 Апрель 2013 - 02:48

Пожалуйста, приведите пример такого поведения на вашем сайте.

#35 pasiki

pasiki

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

  • Пользователи
  • PipPipPipPip
  • 231 сообщений
  • ГородСанкт-Петербург

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

Заметил, что у меня в форме быстрого заказа не показывается поле ввода кода (купона) на скидку.
Выяснил, что в ней почему-то не проходит условие {% IF TARIFF_FEATURE_DISCOUNT_COUPONS %}.
Хотя купоны включены и при обычном оформление заказа все работает.
Не подскажите, в чем дело?

#36 Koderhan

Koderhan

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

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

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

Просмотр сообщенияpasiki (28 Май 2013 - 10:49) писал:

Заметил, что у меня в форме быстрого заказа не показывается поле ввода кода (купона) на скидку.
Выяснил, что в ней почему-то не проходит условие {% IF TARIFF_FEATURE_DISCOUNT_COUPONS %}.
Хотя купоны включены и при обычном оформление заказа все работает.
Не подскажите, в чем дело?

Возможно в файле "Быстрый заказ" просто не включена переменная.
Если в вашем тарифном плане доступны скидки по купонам то можно просто удалить эту переменную.

Панель администратора, "Сайт"->"Редактор тем".
В файле "Быстрый заказ".
Найти код:

	<!-- Если в тарифном плане подключен модуль скидок по купонам и суммам заказов -->
	{% IF TARIFF_FEATURE_DISCOUNT_COUPONS %}
	  <!-- Если скидки по купонам активированы в панели управления магазином -->
	  {% IF ORDER_DISCOUNT_COUPON_IS_ENABLED %}
		<div class="fieldset" style="margin-top: 8px;"> 
		  <h2 class="legend">Купон на скидку, если имеется</h2>
		  <ul class="form-list"> 
			<li>
			  <label for="quick_form_coupon_code">Код купона</label> 
			  <div class="input-box">
				<input type="text" id="quick_form_coupon_code" name="form[coupon_code]" value="{ORDER_FORM_COUPON_CODE}" class="input-text" />
			  </div>
			<li>
		  </ul>
		</div>
	  {% ENDIF %}
	{% ENDIF %}
	<!-- END Если в тарифном плане подключен модуль скидок по купонам и суммам заказов -->
Заменить:
	<!-- Если в тарифном плане подключен модуль скидок по купонам и суммам заказов -->

	  <!-- Если скидки по купонам активированы в панели управления магазином -->
	  {% IF ORDER_DISCOUNT_COUPON_IS_ENABLED %}
		<div class="fieldset" style="margin-top: 8px;"> 
		  <h2 class="legend">Купон на скидку, если имеется</h2>
		  <ul class="form-list"> 
			<li>
			  <label for="quick_form_coupon_code">Код купона</label> 
			  <div class="input-box">
				<input type="text" id="quick_form_coupon_code" name="form[coupon_code]" value="{ORDER_FORM_COUPON_CODE}" class="input-text" />
			  </div>
			<li>
		  </ul>
		</div>
	  {% ENDIF %}

	<!-- END Если в тарифном плане подключен модуль скидок по купонам и суммам заказов -->
За найденную ошибку Баланс магазина 36082 пополнен на 500 руб. Спасибо.

#37 pasiki

pasiki

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

  • Пользователи
  • PipPipPipPip
  • 231 сообщений
  • ГородСанкт-Петербург

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

да, спасибо, я так и сделаю конечно )
просто удивился тому, что одни переменные работают, а другие - нет.

#38 support

support

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

  • Модераторы
  • 3 686 сообщений
  • ГородМосква

Отправлено 12 Июнь 2013 - 07:48

Просмотр сообщенияpasiki (28 Май 2013 - 13:53) писал:

да, спасибо, я так и сделаю конечно )
просто удивился тому, что одни переменные работают, а другие - нет.
Отображение данных переменных в шаблоне сообщения добавления товаров в корзину добавили, сейчас должно работать

#39 Гость_Наталья C._*

Гость_Наталья C._*
  • Гости

Отправлено 18 Июнь 2013 - 09:12

Просмотр сообщенияСake (17 Апрель 2013 - 03:22) писал:

Вероятно проблема в шаблоне, так как в каждом шаблоне разные версии jquery и от этого идут конфликты. В принципе можно и не использовать fancybox из-за которого получаются конфликты и в итоге не работает окно. Можно использовать стандартную возможность шаблона, а именно nyroModalManual. Все что в данном случае понадобиться - это закачать к себе шаблон order_fast.htm и в 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;
}

т.е если подобный код уже стоит, то его необходимо удалить. Кнопки останутся те же.

Order fast закачала, код в быстрым заказом добавила в самый конец main.js
Но ничего не изменилось...

#40 miyako

miyako

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

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

Отправлено 18 Июнь 2013 - 10:17

Просмотр сообщенияНаталья C. (18 Июнь 2013 - 09:12) писал:

Order fast закачала, код в быстрым заказом добавила в самый конец main.js
Но ничего не изменилось...

Вы меняли код кнопок для Быстрого заказа?




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

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