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

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


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

Вариант логотипа день/ночь. Ручками конечно нужно изменить в 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() это крайне неправильно и сильно жирно.

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

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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