Перейти к контенту

Смена лого в зависимости от времени.


Рекомендуемые сообщения

Вариант логотипа день/ночь. Ручками конечно нужно изменить в skin_global текущее лого и перезалить скрипта. Но заниматься этим каждый день ...
Ссылка на комментарий
Поделиться на других сайтах

Dekker

в принципе это можно сделать простым жабаскриптом....

в

<head>

</head>

документа....

<script language="javascript"><!--
function gethello() {
var nowdate = new Date();
var nowtime = nowdate.getHours();
var hellostr = ' ';
if (nowtime>=0 && nowtime<6) {hellostr="---КОД НОЧНОГО ЛОГОТИПА---";}
if (nowtime>=6 && nowtime<11) {hellostr="---КОД УТРЕННЕГО ЛОГОТИПА---";}
if (nowtime>=11 && nowtime<17) {hellostr="---КОД ДНЕВНОГО ЛОГОТИПА---";}
if (nowtime>=17) {hellostr="---КОД ВЕЧЕРНЕГО ЛОГОТИПА---";}
return hellostr;
}
//--></script>

а в месте, где логотип - вставить эту фигню

<script language="javascript"><!--
document.write(gethello());
//--></script>

или что-то типа этого :)

Ссылка на комментарий
Поделиться на других сайтах

BESTRAFER

мда ... просто вместе с лого меняеться еще и header_tile.gif :D

я пробовал немного более сложными путями через изменение function.php и skin_global.php пока что не получаеться ;)

Ссылка на комментарий
Поделиться на других сайтах

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

function.php

// Build the board header
        
if (date('G')>="22" & date('G')<"7")
{
$this_header  = $skin_universal->BoardHeader_night();
}
if (date('G')>="7" & date('G')<"22")
{
$this_header  = $skin_universal->BoardHeader();
}

 

естесена BoardHeader_night прописан в skin_global.php c другими параметрами лого и header_tile.gif

Ссылка на комментарий
Поделиться на других сайтах

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

 

// Build the board header
        
        
        if (date('G')>=7 && date('G')<19)
        {
        $this_header  = $skin_universal->BoardHeader();
        } 
             if (date('G')>=19 && date('G')<23)
             {
              $this_header  = $skin_universal->BoardHeader_day();
              }
                  if (date('G')>=23 || date('G')<7)
                  {
                   $this_header  = $skin_universal->BoardHeader_night();
                   }

 

в skin_global.php соответсвенно создаем BoardHeader_day, BoardHeader_night или еще сколько вздумаеться, вплоть то движения солнца по горизонту ;)

Ссылка на комментарий
Поделиться на других сайтах

Я на тестовом поэксперементировал.

В моем случае я сделал 4 позиции, утро (6-12), день (12-18), вечер (18-23) и ночь (23-6)

Вот что получилось:

 

Лезем в functions.php

 

ищем:

$this_header  = $skin_universal->BoardHeader();

 

заменяем на:

        if (date('G')>=12 && date('G')<18)
        {
        $this_header  = $skin_universal->BoardHeader_day();
        }
          if (date('G')>=18 && date('G')<23)
          {
          $this_header  = $skin_universal->BoardHeader_evening();
          }
            if (date('G')>=23 && date('G')<6)
            {
            $this_header  = $skin_universal->BoardHeader_night();
            }
              if (date('G')>=6 && date('G')<12)
              {
              $this_header  = $skin_universal->BoardHeader_morning();
              }

 

далее открываем skin_global.php и вместо

function BoardHeader($time="") {
global $ibforums;
return <<<EOF
<script language='JavaScript' type="text/javascript">
<!--
function buddy_pop() { window.open('index.{$ibforums->vars['php_ext']}?act=buddy&s={$ibforums->session_id}','BrowserBuddy','width=250,height=500,resizable=yes,scrollbars=yes'); }
function chat_pop(cw,ch)  { window.open('index.{$ibforums->vars['php_ext']}?s={$ibforums->session_id}&act=chat&pop=1','Chat','width='+cw+',height='+ch+',resizable=yes,scrollbars=yes'); }
function multi_page_jump( url_bit, total_posts, per_page )
{
pages = 1; cur_st = parseInt("{$ibforums->input['st']}"); cur_page  = 1;
if ( total_posts % per_page == 0 ) { pages = total_posts / per_page; }
 else { pages = Math.ceil( total_posts / per_page ); }
msg = "{$ibforums->lang['tpl_q1']}" + " " + pages;
if ( cur_st > 0 ) { cur_page = cur_st / per_page; cur_page = cur_page -1; }
show_page = 1;
if ( cur_page < pages )  { show_page = cur_page + 1; }
if ( cur_page >= pages ) { show_page = cur_page - 1; }
 else { show_page = cur_page + 1; }
userPage = prompt( msg, show_page );
if ( userPage > 0  ) {
if ( userPage < 1 )     {    userPage = 1;  }
if ( userPage > pages ) { userPage = pages; }
if ( userPage == 1 )    {     start = 0;    }
else { start = (userPage - 1) * per_page; }
window.location = url_bit + "&st=" + start;
}
}
//-->
</script>
 
<!--IBF.BANNER-->
<div id='logostrip'>
  <a href='{$ibforums->base_url}act=home' title='Board Home'><img src='{$ibforums->vars['img_url']}/spacer.gif' alt='Unlimited Forum. First Page' width='350' height='60' border='0' /></a>  DAY (12-18)
</div>

<!-- IE6/Win TABLE FIX -->

<% MEMBER BAR %>
<br />
EOF;
}

 

подставляем необходимое, то есть в названии функции вписываем _day и т.д.. у нас получится несколько этих самых function BoardHeader (function BoardHeader_morning, function BoardHeader_day, function BoardHeader_evening, function BoardHeader_night)

 

вот как бы и все.

 

Enjoy.

Ссылка на комментарий
Поделиться на других сайтах

Elvis271

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

да, забыл, если есть желание посмотреть demo http://www.crimea-board.net пока что три варианта, день, вечер, ночь. к весеннему скину уже подготовили четыре варианта.

 

а вот до состояния хака, я так думаю отцы уже доведут ;)

Ссылка на комментарий
Поделиться на других сайтах

Dekker

а как к сезонам или сезонным праздникам сделать смену скинов, чтобы не мучиться и самой не догадывать? Можешь поставить полный вариант пошагово?

Ссылка на комментарий
Поделиться на других сайтах

bobsfm

люди, вы когда себе заведете разные ники, а то как то неудобно иногда обращаться :D

 

смена скина к сезону ... я это делаю руками, поскольку не столь часто сезоны меняються, (ну для Крыма можно добавить еще "бархатный" и "мертвый") ;)

 

хотя ... тоже по идее решение элементарное, пошел копать.

Ссылка на комментарий
Поделиться на других сайтах

да, забыл, если есть желание посмотреть demo http://www.crimea-board.net пока что три варианта, день, вечер, ночь. к весеннему скину уже подготовили четыре варианта.

Класс..

Ссылка на комментарий
Поделиться на других сайтах

Dekker

лень, заводить. Если ты за фото, то на тебе мое - в профиле. А его - в профиле форума Игоря. Тем более, что "муж и жена - одна сатана". ;) Тем более, что у нас входит автоматом по кукам. :D И еще потому, что Боб теперь появится не раньше апреля - я его запрягла кое-что для дома - для семьи создать, а потом еще для наших форумов, а потом еще юбилей... Короче - не ждите раньше апреля.

 

А по делу: можешь для меня специально написать, как сменить код, чтобы получить рендом смену скинов в зависимоти от времен года?

Ссылка на комментарий
Поделиться на других сайтах

кстати, код BESTRAFER'а мне понравился больше, так как он на порядок короче. я бы реккомендовал использовать его. В принципе можно и в моем варианте извратиться и подключаемый скрипт выложить в отдельную процедуру и потом вызывать. ну да ладно, это такое дело, все равно он не подгружает весь модуль, а только лишь его необходимую часть...
Ссылка на комментарий
Поделиться на других сайтах

bobsfm

ок, леди, но поскольку немного занят, то наверное в субботу на вечер возьму пива (с ним проще) и займусь :D

хотя может у кого то до меня возникнут мысли как это сделать.

Добавлено в [mergetime]1077874554[/mergetime]

Z

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

 

а скин к сезону ... мне нравиться доставать его из архива, вытирать с него пыль, что-то менять и только потом запускать для пользователя ;)

 

но если женщина просит © :)

Ссылка на комментарий
Поделиться на других сайтах

кстати, еще один небольшой прокол, даже не прокол а свойство жаба скрипта, он то берет локальное время пользователя ? я понимаю что у меня 90% аудитории это Крым, но про гостей забывать не нужно :D
Ссылка на комментарий
Поделиться на других сайтах

Z

да все и так чудесно работает

 

папа, солнце всегда всходит на востоке и садиться на западе, ты проверил, проверил, работает, да работает, ничего не трогай !!! ©

 

сорри за оффтоп.

Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...

Я ещё плохо разбираюсь в IPB,но очень хочу установить данную модификацию.Скажите как можно попасть в functions.php.Извините за глупый вопрос.

P.S. У меня нет возможности редактировать и менять что то через сервер,на который залит форум.Только через сам форум.

Ссылка на комментарий
Поделиться на других сайтах

ИМХО для каждого лого свой BoardHeader() это крайне неправильно и сильно жирно.

Нужно просто иия файла передавать как параметр ИМХО

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.