info navigation

phpbb-belk.ru

темы, связанные с форумом phpbb 3.0.x



Новая тема  [ Сообщений: 11 ]  Просмотры: 6371

Автор Сообщение
Не в сети
(Андрей)  
Администратор
Аватара пользователя

Стаж: 8 лет 8 месяцев 22 дня
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Новогодний мод (три составляющих)

появилось время и решил сотворить "Новогодний мод" для сайта. из тех тем, что есть здесь на форуме.

Описание: Мод позволяет управлять из администраторского раздела тремя "украшениями": снег на форуме, новогодняя гирлянда и таймер отсчёта до наступления Нового года. возможна работа как всех вместе, так и по отдельности.
Я расположил гирлянду и таймер над шапкой форума, то есть сам сайт немного сдвинулся вниз. сделал это потому, что у многих в шапке располагается различная информация, которую эти "украшения" могут скрыть.

разумеется вы сами можете подогнать сие под свои вкусы.

p.s. новогодняя гирлянда - это творение Яндекса, как говорят. при качании шаров должна звучать мелодия, но я несколько раз экспериментировал и на поддоменах звук работать не желал. на "чистых" сайтах работал.

Выглядеть будет так:

Выключатели в админке. По умолчанию всё отключено:

Вложение:
Комментарий к файлу: администраторский раздел
adminka.png
adminka.png [ 65.85 КБ | Просмотров: 6237 ] adminka.png



Вывод украшений все вместе и поочерёдно на "чистом" prosilver'e:

Вложение:
Комментарий к файлу: все вместе
prosilver_full.png
prosilver_full.png [ 100.83 КБ | Просмотров: 6237 ] prosilver_full.png



Вложение:
Комментарий к файлу: только гирлянда
prosilver_mot.png
prosilver_mot.png [ 98.09 КБ | Просмотров: 6237 ] prosilver_mot.png



Вложение:
Комментарий к файлу: только снег
prosilver_snow.png
prosilver_snow.png [ 16.34 КБ | Просмотров: 6237 ] prosilver_snow.png



Вложение:
Комментарий к файлу: только таймер
prosilver_time.png
prosilver_time.png [ 18.34 КБ | Просмотров: 6237 ] prosilver_time.png



Вступление закончено. Теперь как это всё установить:

Скачать мод из архива сайта:

Скачать из файлового архива сайта

Распаковать и скопировать содержимое папки root в корень сайта (где файл config.php).

запустить через браузер файл db_update.php (для создания таблиц в базе)

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

по адресу http://ваш форум/db_update.php


после отработки запроса удалить файл с сервера.

После этого сделать правки файлов:


Открыть includes/functions.php

Найти

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

// The following assigns all _common_ variables that may be used at any point in a template.
   $template->assign_vars(array(


Вставить после найденного

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

'S_ENABLE_DOPP1'      => ($config['enable_dopp1']) ? true : false ,
'S_ENABLE_DOPP2'      => ($config['enable_dopp2']) ? true : false ,
'S_ENABLE_DOPP3'      => ($config['enable_dopp3']) ? true : false ,


Открыть includes/acp/acp_board.php

Найти

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

          legend2'            => 'WARNINGS',
                  'warnings_expire_days'   => array('lang' => 'WARNINGS_EXPIRE',      'validate' => 'int',   'type' => 'text:3:4', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),


Вставить после найденного

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

'legend4'               => 'ENABLE_ELEMENTS',
                  'enable_dopp1'         => array('lang' => 'ENABLE_DOPP1',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
              'enable_dopp2'         => array('lang' => 'ENABLE_DOPP2',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
              'enable_dopp3'         => array('lang' => 'ENABLE_DOPP3',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),


Открыть language/ru/acp/board.php

Найти

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

'SITE_DESC'


Вставить перед найденным

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

   'ENABLE_DOPP1'               => 'Включить <span style="color:green;">снег на форуме</span>',
        'ENABLE_DOPP1_EXPLAIN'               => 'Выберите Да для отображения данного элемента либо Нет для его скрытия',
        'ENABLE_DOPP2'               => 'Включить <span style="color:green;">отсчёт до Нового года</span>',
        'ENABLE_DOPP2_EXPLAIN'               => 'Выберите Да для отображения данного элемента либо Нет для его скрытия',
        'ENABLE_DOPP3'               => 'Включить <span style="color:green;">новогоднюю гирлянду</span>',
        'ENABLE_DOPP3_EXPLAIN'               => 'Выберите Да для отображения данного элемента либо Нет для его скрытия',


Найти

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

'EDIT_TIME'


Вставить перед найденным

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

   'ENABLE_ELEMENTS'             => 'Новогодние украшения на сайте',


Правки в шаблонах стиля. не важно какой стиль:

Открыть overall_header.html

Найти



Вставить перед найденным

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

<!-- INCLUDE new_year_overall.html -->


Открыть overall_footer.html

Найти



Вставить перед найденным

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

<!-- INCLUDE new_year_footer.html -->


Всё. чистим кэш и пользуемся.

Пояснения по коду:
по снегу
в ходе тестов и использования никаких проблем не наблюдалось

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

бывает помогает прописка абсолютного пути подключения в файле newyear/js/newyear.js

строка

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

        var i = "/newyear/js/newyear.swf";


заменить на

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

        var i = "http://ваш сайт/newyear/js/newyear.swf";

по таймеру
для нормальной работы необходимо указать реальный год:

Открыть styles/ваш стиль/template/new_year_overall.html

Найти

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

 var BigDay = new Date("January 1, 2019");


пропишите в этой строке вместо 2019 реально будущий новый год

Найти

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

<b><font color=red>Поздравляем всех с Новым, 2019 годом!! Ура!</font></b>


и здесь поправьте поздравление.


перевод настроек "падения" снега
файл snowstorm.js

// Настройки:
// ------------------

var imagePath = 'images/snow/'; // относительный путь к изображениям снежинок (включая косую черту)
var flakesMax = 128; // Устанавливает максимальное количество снежинок, которые могут существовать на экране в любой момент времени.
var flakesMaxActive = 64; // Устанавливает предел количества "падения" снежинок (т.е. тех, которые находятся в движении, таким образом считаются "активными".)
var vMaxX = 8; // Определяет максимальные скорости X для перемещения. Диапазон до этого значения выбирается случайным образом.
var vMaxY = 4; // Определяет максимальные скорости Y для перемещения. Диапазон до этого значения выбирается случайным образом.
var usePNG = true; // Включает PNG изображения, если поддерживается ("false" возвращается к GIF)
var flakeBottom = null; // Ограничивает" нижнюю " координату снега. Выберите 0 или null, чтобы зафиксировать "низ экрана" // Integer for fixed bottom, 0 or null for "full-screen" snow effect
var snowStick = false; // Позволяет снегу "прилипать" к нижней части окна. Когда он выключен, снег никогда не будет "сидеть" на дне.
var snowCollect = false; // Позволяет снегу накапливаться (медленно) в нижней части окна. (Может быть очень ЦП / ресурсоемким с течением времени.) Также требуется snowStick = true.
var targetElement = null; // элемент, к которому будет добавлен снег ("body", если не определено)
var followMouse = true; // Позвольте мыши влиять на "ветер", слева направо.
var flakeTypes = 6; // Устанавливает диапазон используемых изображений хлопьев (например. значение 5 будет использовать изображения в диапазоне от 0.png до 4.формат PNG.), в данном случае 6 разных размеров снежинок.
var flakeWidth = 5; // Ширина (в пикселях) каждого изображения снежинки.
var flakeHeight = 5; // Высота (в пикселях) каждого изображения снежинки.

// ------------------


Вроде всё. успешного применения. :arigato:


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
mod,phpbb3.0.x,new year,новогодний мод,снег на форуме,гирлянда новогодняя для сайта
Не в сети
(Дмитрий)  
2018-02-04 
Аватара пользователя

Стаж: 7 лет 5 месяцев
Сообщения: 734


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Спасибо, Андрей! А сам код отображения можно править в этом моде?
После моих тестов, я несколько изменил отображение текста:

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

<center><span style="font-size:10pt"><script LANGUAGE="javascript">
document.write('<span id="ny_date">До Нового Года</span>')
function ojidanieNG()
{
 var today = new Date();

 var BigDay = new Date("January 1, 2018");
 var timeLeft = (BigDay.getTime() - today.getTime());

 var e_daysLeft = timeLeft / 86400000;
 var daysLeft = Math.floor(e_daysLeft);

 var e_hrsLeft = (e_daysLeft - daysLeft)*24;
 var hrsLeft = Math.floor(e_hrsLeft);

 var e_minsLeft = (e_hrsLeft - hrsLeft)*60;
 var minsLeft = Math.floor(e_minsLeft);

 var seksLeft = Math.floor((e_minsLeft - minsLeft)*60);

 if (BigDay.getTime() > today.getTime() )
 document.getElementById("ny_date").innerHTML = '<font color=blue><b>До Нового года</b>: <b>'+daysLeft+'</b> дней, <b>'+hrsLeft+'</b> часов, <b>'+minsLeft+'</b> минут, <b>'+seksLeft+'</b> секунд</font>'
 else
 document.getElementById("ny_date").innerHTML = '<font color=blue><b>Поздравляем с Новым 2018 годом!!!</b></font>'
}
setInterval("ojidanieNG()", 50)
</SCRIPT></span>
</center>

Обязательно воспользуюсь данным модом ближе к праздникам. А к 8 марта ничего нет? :oops:


Не в сети
(Андрей)  
2018-02-05 
Администратор
Аватара пользователя

Стаж: 8 лет 8 месяцев 22 дня
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


да нет... по аналогии можно сделать. в сети что-нибудь подобрать... надпись и цветочки, например...


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2018-12-08 
Аватара пользователя

Стаж: 7 лет 5 месяцев
Сообщения: 734


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Замечательный мод! Поставил, все работает!
Теперь буду пользоваться каждый год. Я уже включил.
Андрей, а ты собираешь включать его включать? НГ уже близко ;)

Пока правки делал обратил внимание, что в моем overall_footer.html
в самом начале идет закрытый тэг </div>
Это не ошибка? :?

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

   </div>

<div id="page-footer">

   <div class="navbar">
      <div class="inner"><span class="corners-top"><span></span></span>

      <ul class="linklist">
         <li class="icon-home"><a href="{U_INDEX}" accesskey="h">{L_INDEX}</a></li>
            <!-- IF not S_IS_BOT -->
               <!-- IF S_WATCH_FORUM_LINK --><li <!-- IF S_WATCHING_FORUM -->class="icon-unsubscribe"<!-- ELSE -->class="icon-subscribe"<!-- ENDIF -->><a href="{S_WATCH_FORUM_LINK}" title="{S_WATCH_FORUM_TITLE}">{S_WATCH_FORUM_TITLE}</a></li><!-- ENDIF -->
               <!-- IF U_WATCH_TOPIC --><li <!-- IF S_WATCHING_TOPIC -->class="icon-unsubscribe"<!-- ELSE -->class="icon-subscribe"<!-- ENDIF -->><a href="{U_WATCH_TOPIC}" title="{L_WATCH_TOPIC}">{L_WATCH_TOPIC}</a></li><!-- ENDIF -->
               <!-- IF U_BOOKMARK_TOPIC --><li class="icon-bookmark"><a href="{U_BOOKMARK_TOPIC}" title="{L_BOOKMARK_TOPIC}">{L_BOOKMARK_TOPIC}</a></li><!-- ENDIF -->
               <!-- IF U_BUMP_TOPIC --><li class="icon-bump"><a href="{U_BUMP_TOPIC}" title="{L_BUMP_TOPIC}">{L_BUMP_TOPIC}</a></li><!-- ENDIF -->
            <!-- ENDIF -->
         <li class="rightside"><!-- IF U_TEAM --><a href="{U_TEAM}">{L_THE_TEAM}</a> &bull; <!-- ENDIF --><!-- IF not S_IS_BOT --><a href="{U_DELETE_COOKIES}">{L_DELETE_COOKIES}</a> &bull; <!-- ENDIF -->{S_TIMEZONE}</li>
      </ul>

      <span class="corners-bottom"><span></span></span></div>
   </div>
   <!-- IF SCRIPT_NAME == "index" && SEO_KEY -->
<br />
    <div class="panel bg2">
        <div class="inner"><span class="corners-top"><span></span></span>
            <img src="{ROOT_PATH}images/can.png" alt="{L_CAN}" /><span><em>{SEO_KEY}</em></span>
       <span class="corners-bottom"><span></span></span></div>
    </div>
    <!-- ENDIF -->
   <div class="copyright">   © www.crimea-your.ru. Все права защищены. При использовании материалов www.crimea-your.ru/forum, гиперсылка на сайт, или форум обязательна!<br />
<!-- Yandex.Metrika informer -->
<a href="https://metrika.yandex.ru/stat/?id=26865003&amp;from=informer"
target="_blank" rel="nofollow"><img src="//bs.yandex.ru/informer/26865003/3_1_FFFFFFFF_EFEFEFFF_0_pageviews"
style="width:88px; height:31px; border:0;" alt="Яндекс.Метрика" title="Яндекс.Метрика: данные за сегодня (просмотры, визиты и уникальные посетители)" onclick="try{Ya.Metrika.informer({i:this,id:26865003,lang:'ru'});return false}catch(e){}"/></a>
<!-- /Yandex.Metrika informer -->

<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (d, w, c) {
    (w[c] = w[c] || []).push(function() {
        try {
            w.yaCounter26865003 = new Ya.Metrika({id:26865003,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true});
        } catch(e) { }
    });

    var n = d.getElementsByTagName("script")[0],
        s = d.createElement("script"),
        f = function () { n.parentNode.insertBefore(s, n); };
    s.type = "text/javascript";
    s.async = true;
    s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";

    if (w.opera == "[object Opera]") {
        d.addEventListener("DOMContentLoaded", f, false);
    } else { f(); }
})(document, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="//mc.yandex.ru/watch/26865003" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
      <!-- IF DEBUG_OUTPUT --><br />{DEBUG_OUTPUT}<!-- ENDIF -->
      <!-- IF U_ACP --><br /><strong><a href="{U_ACP}">{L_ACP}</a></strong><!-- ENDIF -->
      <p align="center"><!-- Яндекс.Директ -->
<div id="yandex_ad"></div>
<script type="text/javascript">
(function(w, d, n, s, t) {
    w[n] = w[n] || [];
    w[n].push(function() {
        Ya.Direct.insertInto(171027, "yandex_ad", {
            ad_format: "direct",
            font_size: 1,
            type: "horizontal",
            border_type: "collapse",
            limit: 4,
            title_font_size: 3,
            border_radius: true,
            links_underline: true,
            site_bg_color: "FFFFFF",
            header_bg_color: "FEEAC7",
            border_color: "3399FF",
            title_color: "0000CC",
            url_color: "006600",
            text_color: "000000",
            hover_color: "0066FF",
            sitelinks_color: "0000CC",
            favicon: true,
            no_sitelinks: false
        });
    });
    t = d.getElementsByTagName("script")[0];
    s = d.createElement("script");
    s.src = "//an.yandex.ru/system/context.js";
    s.type = "text/javascript";
    s.async = true;
    t.parentNode.insertBefore(s, t);
})(window, document, "yandex_context_callbacks");
</script></p>
   </div>
</div>

</div>

<div>
   <a id="bottom" name="bottom" accesskey="z"></a>
   <!-- IF not S_IS_BOT -->{RUN_CRON_TASK}<!-- ENDIF -->
</div>

</div>

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
<script type="text/javascript">
setOpacity('main-block', 0.3);
</script>
<!--[if lt IE 7]>
<script type="text/javascript">
var pmPopupDiv = document.getElementById('pm-popup');
function pmPopup()
{
   if (pmPopupDiv.style.display != 'none')
   {
      pmPopupDiv.style.top = (document.documentElement.scrollTop + parseInt(document.documentElement.clientHeight / 2)) + 'px';
   }
}
window.onscroll = pmPopup;
</script>
<![endif]-->
<!-- ENDIF -->


<!-- INCLUDE new_year_footer.html -->
</body>
</html>

Помоему там вообще какая то лажа с этими div-ами :?


Не в сети
(Андрей)  
2018-12-08 
Администратор
Аватара пользователя

Стаж: 8 лет 8 месяцев 22 дня
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


да нет, всё правильно. </div> в футере закрывает блок "тела" страницы.
ведь в стандартном варианте хеадер заканчивается

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

   <a name="start_here"></a>
   <div id="page-body">


то есть как раз "тело" и открывается. оно же должно где-то заканчиваться?

:-D


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2018-12-08 
Аватара пользователя

Стаж: 7 лет 5 месяцев
Сообщения: 734


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


аа, ну хорошо :-D спс :)
Эта большая гирлянда красивая, но доставляет неудобства когда отвечаешь на форуме, пишешь пост. Отключил ее :?
Заметил красивые колокольчики, они очень даже в тему и не мешают. :) Они, видимо не из этого мода. А просто добавлены картинкой, верно?


Не в сети
(Андрей)  
2018-12-08 
Администратор
Аватара пользователя

Стаж: 8 лет 8 месяцев 22 дня
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


колокольчики? как здесь? да, это просто картинка...


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2019-12-01 
Аватара пользователя

Стаж: 7 лет 5 месяцев
Сообщения: 734


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Андрей, а как уменьшить скорость снегопада раза в 2? :-D


Не в сети
(Андрей)  
2019-12-01 
Администратор
Аватара пользователя

Стаж: 8 лет 8 месяцев 22 дня
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


за время движения отвечает эта строчка:

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

s.timers = (!isWin9X?[setInterval(s.snow,20)]:[setInterval(s.snow,75),setInterval(s.snow,25)]);


в файле snowstorm.js

какой именно параметр за какое движение отвечает - шут его знает. лучше увеличивайте все на определённую цифру.

поэкспериментрируйте.

я изменил эти параметры на +50, строчка стала

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

s.timers = (!isWin9X?[setInterval(s.snow,70)]:[setInterval(s.snow,125),setInterval(s.snow,75)]);


видите, что получилось?


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2019-12-01 
Аватара пользователя

Стаж: 7 лет 5 месяцев
Сообщения: 734


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Да. Очень хорошо получилось, Андрей! :idea: Жаль что снег падает только сверху, а когда прокручиваешь до конца страницы внизу уже не падает


Не в сети
(Андрей)  
2019-12-01 
Администратор
Аватара пользователя

Стаж: 8 лет 8 месяцев 22 дня
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


скорее всего падает. дело в настройках скрипта. я перевёл настройки и выложил в первом посте.

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


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ Сообщений: 11 ] 

Кто сейчас на сайте:

Всего посетителей: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (122) здесь было 19 дек 2023, 12:10

Сейчас этот раздел просматривают: нет зарегистрированных пользователей и гости: 1

Часовой пояс: UTC + 2 часа



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Вы не можете защищать свои темы паролем

Найти:
Перейти:  




cron

Текущее время: 14 июн 2024, 08:51

Создано на основе phpBB® Forum Software © phpBB Group
Яндекс.Метрика

Полная версия Мобильный вид