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


Всплывающее Окно


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

#1 Roman(GRR)

Roman(GRR)

    Продвинутый пользователь

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

Отправлено 16 Август 2013 - 12:06

Здравствуйте, можно ли на сайт сделать всплывающее окно ночью, т.е. человек ночью заходит на мой сайт, а тут перед ним всплывает окошко с текстом "Только ночью скидка 5% введите свои данные!" и поля для ввода там емаил, имя что нибудь ещё!

И когда он ввёл свои данные нажал кнопку, то на все товары появляется скидка 5% именно для него, ну или он получает какой ни будь код на скидку!

Важно что бы оно появлялось только ночью

Что то подобное возможно реализовать??

Заранее благодарен

#2 Vaccina

Vaccina

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

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

Отправлено 17 Август 2013 - 03:33

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

#3 Roman(GRR)

Roman(GRR)

    Продвинутый пользователь

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

Отправлено 17 Август 2013 - 13:08

Мне можно без генерации купонов, просто что бы всплыло это окно, там человек ввёл свои данные, нажал на кнопку и передним появится текст с определённым кодом, код будет один для всех и всё!  Такое можно сделать?   Ну или что то подобное??

#4 Vaccina

Vaccina

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

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

Отправлено 20 Август 2013 - 04:22

Если использовать многоразовый купон, то по идее такое можно реализовать. Пожалуйста, по подробнее опишите реализацию.

Цитата

там человек ввёл свои данные, нажал на кнопку и передним появится текст с определённым кодом

Какие данные? Куда эти данные отправляются? и т.д

#5 Roman(GRR)

Roman(GRR)

    Продвинутый пользователь

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

Отправлено 20 Август 2013 - 05:44

Данные: Имя, e-mail.
Отправка будет происходить ко мне на почту

#6 Vaccina

Vaccina

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

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

Отправлено 21 Август 2013 - 06:16

Для реализации задуманного вам подойдет форма быстрого заказа, которую вы можете в последствии переделать. Вам необходимо реализовать http://forum.storela...лик/#entry33438

После выполнить инструкцию http://forum.storela...__20#entry83354

Для отображения код купона - измените текст "Спасибо за заявку, мы перезвоним Вам в самое ближайшее время".

#7 Banker

Banker

    Продвинутый пользователь

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

Отправлено 26 Январь 2014 - 11:25

А можно сделать проще: чтобы всплывало окно:
1. с 0:00 до 6:00 в будни
2. с 0:00 субботы до 23:59 воскресенья
и чтобы можно было отредактировать текст внутри окна?

#8 Сake

Сake

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

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

Отправлено 28 Январь 2014 - 03:44

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

Цитата

1. с 0:00 до 6:00 в будни
2. с 0:00 субботы до 23:59 воскресенья
и чтобы можно было отредактировать текст внутри окна?

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

#9 Banker

Banker

    Продвинутый пользователь

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

Отправлено 28 Январь 2014 - 13:24

Сделал всплывающее окно, обернул в {% IF USER_ID %} чтобы покупателей не пугать.
у меня не будет отправки формы, просто текст. главное, чтобы оно появлялось в указанные промежутки времени.
Т.е. по сути нужно 2 окна, с двумя разными текстами.
1 появляется с 0:00 до 6:00 в будни
2 появляется с 0:00 субботы до 23:59 воскресенья

Спасибо!

#10 Сake

Сake

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

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

Отправлено 29 Январь 2014 - 04:36

Для этого можно использовать код

<script>
var date = new Date({CURRENT_TIME});
if((date.getDay() >= 1 || date.getDay() <= 5) && (date.getHours() >= 0 || date.getHours() <= 6)) {
  // Код инициализации первого сообщения
}
else if((date.getDay() >= 6 || date.getDay() < 1)) {
  // Код инициализации второго сообщения
}
</script>

Где вместо "Код инициализации первого сообщения" и "Код инициализации второго сообщения" вам необходимо вставить код javascript отображающий всплывающее сообщение.

#11 Banker

Banker

    Продвинутый пользователь

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

Отправлено 29 Январь 2014 - 15:10

Сделал так, ничего не получилось



<!-- ВСПЛЫВАЮЩЕЕ ОКНО -->
{% IF USER_ID %}
<script>
var date = new Date({CURRENT_TIME});
if((date.getDay() >= 1 || date.getDay() <= 5) && (date.getHours() >= 0 || date.getHours() <= 6)) {

<div id="parent_popup">
<div id="popup">
ПЕРВОЕ СООБЩЕНИЕ
<a class="close" title="Закрыть" onclick="document.getElementById('parent_popup').style.display='none';">X</a></div>
</div>
<script language="javascript">
if (document.cookie.indexOf('_visited=1') == -1) {
var delay_popup = 3000;
setTimeout("document.getElementById('parent_popup').style.display='block'", delay_popup);
document.cookie = '_visited=1; path=/';
}
</script>

}
else if((date.getDay() >= 6 || date.getDay() < 1)) {

    <div id="parent_popup">
<div id="popup">
ВТОРОЕ СООБЩЕНИЕ
<a class="close" title="Закрыть" onclick="document.getElementById('parent_popup').style.display='none';">X</a></div>
</div>
<script language="javascript">
if (document.cookie.indexOf('_visited=1') == -1) {
var delay_popup = 3000;
setTimeout("document.getElementById('parent_popup').style.display='block'", delay_popup);
document.cookie = '_visited=1; path=/';
}
</script>

}
</script>

{% ENDIF %}
<!-- ВСПЛЫВАЮЩЕЕ ОКНО -->

#12 Сake

Сake

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

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

Отправлено 29 Январь 2014 - 23:51

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

<!-- ВСПЛЫВАЮЩЕЕ ОКНО -->
{% IF USER_ID %}
<div id="parent_popup1" style="display: none;">
<div id="popup">ПЕРВОЕ СООБЩЕНИЕ
  <a class="close" title="Закрыть" onclick="document.getElementById('parent_popup').style.display='none';">X</a>
</div>
</div>
<div id="parent_popup2" style="display: none;">
<div id="popup">ВТОРОЕ СООБЩЕНИЕ
  <a class="close" title="Закрыть" onclick="document.getElementById('parent_popup').style.display='none';">X</a>
</div>
</div>
<script>
var date = new Date({CURRENT_TIME});
if((date.getDay() >= 1 || date.getDay() <= 5) && (date.getHours() >= 0 || date.getHours() <= 6)) {
  if (document.cookie.indexOf('_visited=1') == -1) {
	var delay_popup = 3000;
	setTimeout("document.getElementById('parent_popup1').style.display='block'", delay_popup);
	document.cookie = '_visited=1; path=/';
  }
}
else if((date.getDay() >= 6 || date.getDay() < 1)) {
  if (document.cookie.indexOf('_visited=1') == -1) {
	var delay_popup = 3000;
	setTimeout("document.getElementById('parent_popup2').style.display='block'", delay_popup);
	document.cookie = '_visited=1; path=/';
  }
}
</script>
{% ENDIF %}
<!-- ВСПЛЫВАЮЩЕЕ ОКНО -->


#13 Banker

Banker

    Продвинутый пользователь

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

Отправлено 31 Январь 2014 - 10:35

Вставил код, тестировал первое сообщение ночью, в итоге оно не всплывает, а появляется сверху сайта, а весь сайт сдвигается сильно вниз

#14 Сake

Сake

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

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

Отправлено 01 Февраль 2014 - 02:08

В данном случае вам необходимо изменить стилизацию окна. Найдите в вашем файле стилей main.css

#popup {
  background: #FFFFFF;
  border: 10px solid #DDDDDD;
  border-radius: 10px;
  box-shadow: 0 0 20px #000000;
  margin: 10% auto;
  padding: 5px 20px 13px;
  position: relative;
  width: 500px;
}

и замените на

#popup {
  background: #FFFFFF;
  border: 10px solid #DDDDDD;
  border-radius: 10px;
  box-shadow: 0 0 20px #000000;
  left: 50%;
  margin: 10% 0 10% -250px;
  padding: 5px 20px 13px;
  position: fixed;
  width: 500px;
  z-index: 20;
}


#15 Banker

Banker

    Продвинутый пользователь

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

Отправлено 17 Март 2014 - 12:37

А можно немного поменять код?
Всплывающее окно не нужно, нужно чтобы:
в будни с 6:00 до 23:59 была 1 картинка,
в будни с 00:00 до 6:00 - вторая,
в выходные с 23:59 пятницы до 23:59 воскресенья - третья?

Спасибо!

#16 Сake

Сake

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

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

Отправлено 18 Март 2014 - 03:18

Вы хотите чтобы изображение показывалось только один раз (однократно через cookie), или же отображалось постоянно в отведенный для него интервал времени?

#17 Banker

Banker

    Продвинутый пользователь

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

Отправлено 18 Март 2014 - 07:42

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

#18 Сake

Сake

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

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

Отправлено 19 Март 2014 - 01:05

Попробуйте использовать следующий код

<img id="imagetime" src="{ASSETS_IMAGES_PATH}image1.png" alt="" />
&lt;script>
var imagetime = document.getElementById('imagetime');
if(imagetime !== undefined) {
  var date = new Date();
  if(date.getDay() >= 1 && date.getDay() <= 5) {
	if(date.getHours() >= 6) {
	  imagetime.setAttribute('src', '{ASSETS_IMAGES_PATH}image2.png');
	} else {
	  imagetime.setAttribute('src', '{ASSETS_IMAGES_PATH}image3.png');
	}
  }
}
</script>

Где ваши изображения image1.png, image2.png, image3.png должны быть загружены в разделе редактора шаблонов.

#19 Banker

Banker

    Продвинутый пользователь

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

Отправлено 22 Март 2014 - 10:54

Вставил код, показывается 1 картинка все время.
правильно я понимаю, что
image1 - появляется в будни с 6 утра до 23:59,
image2 - в будни с 0:00 до 6 утра
image 3 - с 23:59 пятницы до 23:59 воскресенья?

#20 Сake

Сake

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

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

Отправлено 25 Март 2014 - 03:42

Да, верно. Вот только в условии кода есть небольшая ошибка. Используйте следующий код

<img id="imagetime" src="{ASSETS_IMAGES_PATH}image1.png" alt="" />
<script>
var imagetime = document.getElementById('imagetime');
if(imagetime !== undefined) {
  var date = new Date();
  if(date.getDay() >= 1 && date.getDay() <= 5) {
		if(date.getHours() >= 6) {
		  imagetime.setAttribute('src', '{ASSETS_IMAGES_PATH}image2.png');
		} else {
		  imagetime.setAttribute('src', '{ASSETS_IMAGES_PATH}image3.png');
		}
  }
}
</script>





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

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