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


Быстрый Заказ С Мобильного Устройства


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

#1 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 18 Октябрь 2014 - 14:07

Здравствуйте! Подскажите пожалуйста: всплывающее окно быстрого заказа на мобильном телефоне отображается некорректно, с правой стороны экрана и его не посмотреть. Как сделать чтобы всплывающее окно быстрого заказа отображалось на весь экран телефона и можно было посмотреть и его нижнюю и верхнюю части?

#2 Сake

Сake

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

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

Отправлено 21 Октябрь 2014 - 00:51

Окно быстрого оформления заказа у вас центрируется. Пожалуйста, сообщите о каком именно телефоне идет речь? Какой браузер вы используете на телефоне (название и его версию)?

#3 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 21 Октябрь 2014 - 10:45

Не центрируется, заказать невозможно. Телефон DNS  s4005 андроид 4.2  одинаково не открывается нормально  ни в яндексе и в гугле

#4 Сake

Сake

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

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

Отправлено 22 Октябрь 2014 - 00:55

Попробуйте в файле main.js найти и удалить строку

if(width < 800) width = 'auto';

Возможно потребуется очистить кэш в используемом вами браузере или на устройстве в целом.

#5 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 22 Октябрь 2014 - 11:36

Убрала, изменения есть. Окно стало выводиться по центру. Но при попытке его увеличить чтобы ввести данные - оно всё равно съезжает направо и самое главное прокручивается вниз не до конца - до кнопки "оформить заказ" уже никак не достать.

#6 Сake

Сake

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

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

Отправлено 23 Октябрь 2014 - 00:25

Дополнительно можно попробовать в файле main.js найти код

resizable: true,
autoSizable: true,
windowResize: true,

и заменить его на

resizable: false,
autoSizable: false,
windowResize: false,


#7 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 23 Октябрь 2014 - 08:46

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

#8 Сake

Сake

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

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

Отправлено 24 Октябрь 2014 - 04:10

Просмотр сообщенияsandra.005@mail.ru (23 Октябрь 2014 - 08:46) писал:

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

Еще можно попробовать заменить всплывающее окно библиотекой fancybox. Найдите в вашем шаблоне "HTML" следующий код

<script type="text/javascript" src="{FORALL_JS_PATH}jquery-1.4.2_nyroModal-1.6.2_validate_capslock_jquery-ui-1.8.4.custom.version2.min.js"></script>
  <!-- Если в тарифном плане подключен модуль отзывов о товаре -->
  {% IF TARIFF_FEATURE_GOODS_OPINION %}
	<!-- Если не выключен модуль отзывов о товаре, то загружаем css для рейтинга -->
	{% IFNOT SETTINGS_OPINION_DISABLE %}
	  <script type="text/javascript" src="{FORALL_JS_PATH}jquery.ui.stars.min.js"></script>
	{% ENDIF %}
  {% ENDIF %}
  <!-- Скрипты магазина -->
  <link rel="stylesheet" href="{FORALL_STYLES_PATH}fancybox/2.1.4/jquery.fancybox.css" />
<script src="{FORALL_STYLES_PATH}fancybox/2.1.4/jquery.fancybox.pack.js"></script>
  <script type="text/javascript" src="{ASSETS_JS_PATH}main.js"></script>

и замените его на

<link rel="stylesheet" href="{FORALL_STYLES_PATH}fancybox/jquery.fancybox-1.3.4.min.css" type="text/css" />
<script type="text/javascript" src="{FORALL_JS_PATH}jquery-1.4.2_nyroModal-1.6.2_validate_capslock_jquery-ui-1.8.4.custom_fancybox-1.3.4.version2.min.js"></script>
  <!-- Если в тарифном плане подключен модуль отзывов о товаре -->
  {% IF TARIFF_FEATURE_GOODS_OPINION %}
	<!-- Если не выключен модуль отзывов о товаре, то загружаем css для рейтинга -->
	{% IFNOT SETTINGS_OPINION_DISABLE %}
	  <script type="text/javascript" src="{FORALL_JS_PATH}jquery.ui.stars.min.js"></script>
	{% ENDIF %}
  {% ENDIF %}
  <!-- Скрипты магазина -->
  <script type="text/javascript" src="{ASSETS_JS_PATH}main.js"></script>

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

success: function(data) {
var width = $(window).width() * 0.8;
$.fn.nyroModalManual({
				 content: data,
				 gallery: null,
				 resizable: true,
autoSizable: true,
windowResize: true,
				 width: width,
				 minHeight: 230
});
}
});
return false;

и замените его на

success: function(data) {
	  $.fancybox({
		content : data,
		onUpdate  : function(){
		  var w = $(window).width()*0.8;
		  if(w < 800) {
			$('.fancybox-inner').css('width', 'auto');
			$('.fancybox-wrap').css({'width': w + 'px'});
		  } 
		  return false;
		}
	  });
	  setTimeout(function(){$.fancybox.update();}, 500);
}
});
return false;


#9 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 27 Октябрь 2014 - 13:57

Всё получилось, спасибо

#10 StonerJack

StonerJack

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

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

Отправлено 26 Август 2016 - 16:01

Здравствуйте! У меня аналогичная проблема с выводом всплывающего окна быстрого заказа на мобильнике. При увеличении экрана на телефоне форма убегает куда-то вниз и вправо. Рекомендации, которые здесь давались, выполнял, но эффекта никакого. Сейчас вернул как было. Помогите пожалуйста
SL-391169

#11 Stasya

Stasya

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

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

Отправлено 01 Сентябрь 2016 - 12:31

Просмотр сообщенияStonerJack (26 Август 2016 - 16:01) писал:

Здравствуйте! У меня аналогичная проблема с выводом всплывающего окна быстрого заказа на мобильнике. При увеличении экрана на телефоне форма убегает куда-то вниз и вправо. Рекомендации, которые здесь давались, выполнял, но эффекта никакого. Сейчас вернул как было. Помогите пожалуйста
SL-391169
В файле main.js найдите блок
success: function(data) {
												 $.fancybox({
																 content: data
// При изменении размера окна изменяем размер окна оформления заказа
																								 , onUpdate: function() {
																				 var w = $(window).width() * 0.8;
																				 if (w < 800) {
// Автоматический ресайз внутреннего блока fancybox-а
																								 $('.fancybox-inner').css('width', 'auto');
// Изменяем размер fancybox окна
																								 $('.fancybox-wrap').css({'width': w + 'px'});
																				 }
																				 return false;
																 }
												 });
// :
								 }
и замените его на
success: function(data) {
											var width = $(window).width() * 0.8;
											if (width < 800) {
											  width = '230px';
											}
											$.fn.nyroModalManual({
											 content: data,
											 gallery: null,
											 resizable: true,
											  autoSizable: true,
											  windowResize: true,
											 width: width,
											 minHeight: 230
											});
	}


#12 StonerJack

StonerJack

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

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

Отправлено 01 Сентябрь 2016 - 13:38

Просмотр сообщенияStasya (01 Сентябрь 2016 - 12:31) писал:

В файле main.js найдите блок
success: function(data) {
												 $.fancybox({
																 content: data
// При изменении размера окна изменяем размер окна оформления заказа
																								 , onUpdate: function() {
																				 var w = $(window).width() * 0.8;
																				 if (w < 800) {
// Автоматический ресайз внутреннего блока fancybox-а
																								 $('.fancybox-inner').css('width', 'auto');
// Изменяем размер fancybox окна
																								 $('.fancybox-wrap').css({'width': w + 'px'});
																				 }
																				 return false;
																 }
												 });
// :
								 }
и замените его на
success: function(data) {
										 var width = $(window).width() * 0.8;
										 if (width < 800) {
											 width = '230px';
										 }
										 $.fn.nyroModalManual({
											 content: data,
											 gallery: null,
											 resizable: true,
											 autoSizable: true,
											 windowResize: true,
											 width: width,
											 minHeight: 230
										 });
}

Окно стало очень широким, однако на мобильнике сжимается и все равно убегает вправо! У меня есть форма обратного звонка на сайте на nyromodal, она отлично отображается и центрируется. Можно ли как-то аналогично сделать?

#13 Danil

Danil

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

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

Отправлено 01 Сентябрь 2016 - 19:26

Просмотр сообщенияStonerJack (01 Сентябрь 2016 - 13:38) писал:

Окно стало очень широким, однако на мобильнике сжимается и все равно убегает вправо! У меня есть форма обратного звонка на сайте на nyromodal, она отлично отображается и центрируется. Можно ли как-то аналогично сделать?
Изменения Вам произвел, проверьте.

#14 StonerJack

StonerJack

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

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

Отправлено 02 Сентябрь 2016 - 12:33

Просмотр сообщенияDanil (01 Сентябрь 2016 - 19:26) писал:

Изменения Вам произвел, проверьте.

Попробовал, но ваша форма отличается от моей по содержанию, да и скрипт перестал работать ( который убирает поле адреса при выборе самовывоза). На мобильнике отображается нормально, правда при увеличении стремится уйти левее. но это терпимо. Кароче наверно надо оставить мою старую форму на Fancybox, она хотя бы нормально работает. Видимо она не рассчитана под корректное отображение в телефоне.Спасибо


Ответьте мне тогда пожалуйста в этой теме: http://forum.storela...ок/page__st__20

#15 StonerJack

StonerJack

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

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

Отправлено 23 Ноябрь 2016 - 00:32

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

Во-первых я отказался от формы на Fancybox и вернул форму на Nyromodal (инструкция тут: http://forum.storela...ина/#entry66227 )

После этого я изменил код
// Быстрый заказ
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) {
// Находим форму, которую отправляем на сервер, для добавления товара в корзину
var formBlock = $($(formSelector).get(0));
var width = 400;
var height = 200;
// Проверка на существование формы отправки запроса на добавление товара в корзину
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 = 400;
var height = 200;
$.fn.nyroModalManual({
				 content: data,
				 gallery: null,
				 resizable: true,
				 width: width
});
}
});
return false;
}

Таким образом просто немного поменял свойства и задал длину и ширину. Центруется нормально




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

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