Меняющаяся шапка форума после обновления страницы в окне браузера

Идём в overall_header.html, находим {SITE_LOGO_IMG}, меняем на:

Код: Выделить всё

<SCRIPT LANGUAGE="JavaScript"><!--
function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

DateObjectName = new Date () 
if (DateObjectName.getMonth()==11) {
DateObjectName.setMonth(0);
DateObjectName.setYear(DateObjectName.getYear()+1);
} else DateObjectName.setMonth(DateObjectName.getMonth()+1);

if (getCookie("logo")==null) {
document.write("<img src=\"адрес_вашей_картинки_номер_1\">");
setCookie("logo","2",DateObjectName.toGMTString());
}
else if (getCookie("logo")=="1"){
document.write("<img src=\"адрес_вашей_картинки_номер_1\">");
setCookie("logo","2",DateObjectName.toGMTString());
}
else if (getCookie("logo")=="2"){
document.write("<img src=\"адрес_вашей_картинки_номер_2\">");
setCookie("logo","3",DateObjectName.toGMTString());
}
else if (getCookie("logo")=="3"){
document.write("<img src=\"адрес_вашей_картинки_номер_3\">");
setCookie("logo","1",DateObjectName.toGMTString());
}

// --></SCRIPT>
<img src=\"адрес_вашей_картинки_номер_1\"> - меняем адрес картинки на свой.

Если хочется большее количество картинок, добавляете сколько нужно:

Код: Выделить всё

else if (getCookie("logo")==" следующий номер "){
document.write("<img src=\"адрес_вашей_картинки\">");
setCookie("logo","1",DateObjectName.toGMTString());
}
Комментарии: 42

CabinetAdmin 18 май 2016, 19:54 Сообщение

Вся ссылка что дана в менеджере картинок (это если она загружена на форум), например:

Код: Выделить всё

document.write("<img src=\"http://mysite.luckbb.ru/storage/mysite_luckbb_ru/images/image.png">");
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

kuprinДмитрий 18 май 2016, 20:54 Сообщение

Код: Выделить всё

<SCRIPT LANGUAGE="JavaScript"><!--
function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}
 
function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}
 
DateObjectName = new Date () 
if (DateObjectName.getMonth()==11) {
DateObjectName.setMonth(0);
DateObjectName.setYear(DateObjectName.getYear()+1);
} else DateObjectName.setMonth(DateObjectName.getMonth()+1);
 
if (getCookie("logo")==null) {
document.write("<img src=\"http://ogf.gtaserv.ru/storage/ogf_gtaserv_ru/images/6971.jpg">");
setCookie("logo","2",DateObjectName.toGMTString());
}
else if (getCookie("logo")=="1"){
document.write("<img src=\"http://ogf.gtaserv.ru/storage/ogf_gtaserv_ru/images/6971.jpg">");
setCookie("logo","2",DateObjectName.toGMTString());
}
else if (getCookie("logo")=="2"){
document.write("<img src=\"http://ogf.gtaserv.ru/storage/ogf_gtaserv_ru/images/946581.jpg">");
setCookie("logo","3",DateObjectName.toGMTString());
}
else if (getCookie("logo")=="3"){
document.write("<img src=\"http://ogf.gtaserv.ru/storage/ogf_gtaserv_ru/images/Shapka2.jpg">");
setCookie("logo","1",DateObjectName.toGMTString());
}
 
// --></SCRIPT>


вот мой код - не отображается. Раньше делал - отобрадалось, адреса картинок правильные, картинки есть на сайте, что не так?
  • 0
Последний раз редактировалось CabinetAdmin 19 май 2016, 15:13, всего редактировалось 1 раз.
Причина: ббкод [code]

CabinetAdmin 19 май 2016, 15:12 Сообщение

А, ну да, чего это я, не, не правильно, так надо:

Код: Выделить всё

document.write("<img src=\"http://ogf.gtaserv.ru/storage/ogf_gtaserv_ru/images/6971.jpg\">");
косую же надо после ссылки...
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

kuprinДмитрий 19 май 2016, 21:41 Сообщение

все равно ничего нет, не понимаю. Когда вместо вашего кода стоит первоначальный- шапка отображается а вот так нет, что не так?

Код: Выделить всё

<div id="header_container">
		<div id="header_bg">
                <div align="center">
			<a href="{U_INDEX}" title="{L_INDEX}" id="logo">
<SCRIPT LANGUAGE="JavaScript"><!--
function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}
 
function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}
 
DateObjectName = new Date () 
if (DateObjectName.getMonth()==11) {
DateObjectName.setMonth(0);
DateObjectName.setYear(DateObjectName.getYear()+1);
} else DateObjectName.setMonth(DateObjectName.getMonth()+1);
 
if (getCookie("logo")==null) {
document.write("<img src=\"http://ogf.gtaserv.ru/storage/ogf_gtaserv_ru/images/6971.jpg\">");
setCookie("logo","2",DateObjectName.toGMTString());
}
else if (getCookie("logo")=="1"){
document.write("<img src=\"http://ogf.gtaserv.ru/storage/ogf_gtaserv_ru/images/6971.jpg\">");
setCookie("logo","2",DateObjectName.toGMTString());
}
else if (getCookie("logo")=="2"){
document.write("<img src=\"http://ogf.gtaserv.ru/storage/ogf_gtaserv_ru/images/946581.jpg\">");
setCookie("logo","3",DateObjectName.toGMTString());
}
else if (getCookie("logo")=="3"){
document.write("<img src=\"http://ogf.gtaserv.ru/storage/ogf_gtaserv_ru/images/Shapka2.jpg\">");
setCookie("logo","1",DateObjectName.toGMTString());
}
 
// --></SCRIPT>

</a>
		</div>
	</div>

	<div id="wrapheader">
  • 0
Последний раз редактировалось CabinetAdmin 20 май 2016, 15:42, всего редактировалось 1 раз.
Причина: ббкод [code]

CabinetAdmin 20 май 2016, 15:44 Сообщение

Должно работать. Установите я посмотрю.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

РокРок 31 янв 2018, 20:35 Сообщение

А можно это преобразить в расширение для phpbb3.1?
  • 0
IN GOD WE TRUST

CabinetAdmin 01 фев 2018, 15:39 Сообщение

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

РокРок 01 фев 2018, 16:50 Сообщение

CabinetAdmin писал(а): Помню было такое расширение... Хотя наверно проще это в расширение сделать, чем то найти...
Если сделаете, будет очень круто! Будем ждать.
  • 0
IN GOD WE TRUST

maco 01 фев 2018, 17:12 Сообщение

CabinetAdmin писал(а): Помню было такое расширение...
У меня работает вот по этому образцу. http://cabinetadmina.ru/viewtopic.php?p=67741#p67741
  • 0

РокРок 01 фев 2018, 18:34 Сообщение

maco писал(а):
CabinetAdmin писал(а): Помню было такое расширение...
У меня работает вот по этому образцу. http://cabinetadmina.ru/viewtopic.php?p=67741#p67741
Скажите, скрипт, если напрямую вставлять больше будет снижать скорость загрузки сайта нежели расширение?
  • 0
IN GOD WE TRUST

CabinetAdmin 02 фев 2018, 18:20 Сообщение

Одинаково.

Кстати, могу предложить ещё один вариант.
Открываете includes/functions.php и находите:

Код: Выделить всё

		'SITE_LOGO_IMG'			=> $user->img('site_logo'),
с новой строки добавляете:

Код: Выделить всё

		'SITE_LOGO_RANDOM'		=> mt_rand(1, 4),
Цифра 4 означает, что меняющихся изображений будет 4, если вы планируете другое количество, то указывайте своё значение.

Открываете папку images, та что в корневой папке форума, и добавляете туда свои изображения с подобными именами: image-1.jpg, image-2.jpg и тд.

Открываете overall_header и меняете лого, по умолчанию в просильвере:

Код: Выделить всё

<a id="logo" class="logo" href="<!-- IF U_SITE_HOME -->{U_SITE_HOME}<!-- ELSE -->{U_INDEX}<!-- ENDIF -->" title="<!-- IF U_SITE_HOME -->{L_SITE_HOME}<!-- ELSE -->{L_INDEX}<!-- ENDIF -->">{SITE_LOGO_IMG}</a>
меняем из этого {SITE_LOGO_IMG} на:

Код: Выделить всё

<img src="{T_IMAGES}/image-{SITE_LOGO_RANDOM}.jpg" alt="Logo" title="Logo" />
Если шапка сделана по своему, то тут по месту надо смотреть. Например, шапка в просильвере имеет синий цвет, чтобы применить картинку к ней, то находим:

Код: Выделить всё

<div class="headerbar" role="banner">
и меняем на:

Код: Выделить всё

<div class="headerbar" role="banner" style="background-image: url({T_IMAGES}/image-{SITE_LOGO_RANDOM}.jpg);">
можно использовать вместе с родным лого, можно родное удалить и добавить сюда минимальную высоту для шапки: min-height: 150px;.


зы. В таком виде никакой дополнительной нагрузки нет.
зыы. Имеет один минус, при обновлении форума правку придётся вносить заново.
  • 1
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

Иринка 31 янв 2019, 12:49 Сообщение

CabinetAdmin, блиин что-то накрутила и появилась полоса, не могу найти где ошибка(
Меняющаяся шапка форума - Безымянный.jpg
Вот это удаляю и все встает на места, а где найти не знаю(
Меняющаяся шапка форума - Безымянный1.jpg
  • 0

Иринка 31 янв 2019, 13:07 Сообщение

Вопрос снят, извините.
  • 0

Похожие темы