Simple global notices

Zestawy graficznych dodatków do wykorzystania na forum: emotikon, awatarów, obrazów rang itp.
  • Autor
  • Wiadomość
Offline

Aviator

zespół

  • Posty: 2066
  • Rejestracja: 07 czerwca 2011, 22:14
  • Lokalizacja: ZS

Simple global notices

Post08 maja 2012, 19:31

Nazwa modyfikacji: Simple global notices
Autor: Christian Bullock
Opis modyfikacji:Modyfikacja dodaje proste globalne ogłoszenie do forum. Wyświetlenie ogłoszenia zapisywane jest w ciasteczkach przeglądarki użytkownika, raz zamknięte ogłoszenie nie wyświetli się ponownie, aż do wygaśnięcia ciasteczek lub wyczyszczenia ciasteczek.
Do instalacji modyfikacji nie potrzeba ingerencji w skrypt forum tylko w sam styl.
Wersja phpBB: 3.0.10
Styl: Prosilver

Przetłumaczona nazwa modyfikacji: Proste globalne ogłoszenia
Autor tłumaczenia: Psikus
simple.jpg

global-notices.zip
(2.82 KiB) Pobrany 1109 razy



Kopiowanie plików:
Skopiuj: /global-notices/blue-cross.gif do /phpBB/styles/prosilver/theme/images/
Skopiuj: /global-notices/green-cross.gif do /phpBB/styles/prosilver/theme/images/
Skopiuj: /global-notices/red-cross.gif do /phpBB/styles/prosilver/theme/images/
Skopiuj: /global-notices/yellow-cross.gif do /phpBB/styles/prosilver/theme/images/
Skopiuj: /global-notices/jquery.cookie.js do /phpBB/styles/prosilver/template/

Instalacja:
Otwórz: /styles/prosilver/template/overall_header.html
Znajdź:
Kod: Zaznacz cały
<script type="text/javascript" src="{T_TEMPLATE_PATH}/forum_fn.js"></script>

Dodaj po w nowej linii:
Kod: Zaznacz cały
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<!-- If the above line is already present, don't add it again -->
<script type="text/javascript" src="{T_TEMPLATE_PATH}/jquery.cookie.js"></script>

Znajdź:
Kod: Zaznacz cały
<body id="phpbb" class="section-{SCRIPT_NAME} {S_CONTENT_DIRECTION}">

Dodaj po w nowej linii:
Notatka: Tu wpisujesz treść ogłoszenia
Kod: Zaznacz cały
<div class="global-notice notice-top green">
    <strong>Informacja:</strong> Zaloguj się lub Zarejestruj jeżeli chcesz uzyskać pełny dostęp do strony. Ogłoszenie demonstraycyjne modyfikacji Simple global notices
    <a class="cross" href="#">Zamknij</a>
</div>

Znajdź:
Kod: Zaznacz cały
<a name="start_here"></a>

Dodaj po w nowej linii:
Notatka: Tu wpisujesz treść ogłoszenia
Kod: Zaznacz cały
<div class="global-notice green">
    Witamy na forum. Ogłoszenie demonstraycyjne modyfikacji Simple global notices
    <a class="cross" href="#">Zamknij</a>
</div>

Otwórz: /styles/prosilver/theme/colours.css
Znajdź:
Kod: Zaznacz cały
input.disabled {
    color: #666666;
}

Dodaj po w nowej linii:
Kod: Zaznacz cały
.global-notice {
    padding: 12px;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 10px;
    border: 1px solid;
    -moz-box-shadow: inset 0 -1px #FFFFFF;
}
 
.global-notice strong {
    color: #000000;
}
 
.notice-top {
    border-top: none;
    border-left: none;
    border-right: none;
    margin-top: -12px;
}
 
.blue {
    background-color: #e5f4ff;
    border-color: #a7cee2;
    color: #004b90;
}
 
.red {
    background-color: #ffe5e5;
    border-color: #e2a8a8;
    color: #900000;
}
 
.green {
    background-color: #e4ffdf;
    border-color: #b8dfb8;
    color: #3a6e31;
}
 
.yellow {
    background-color: #fdffe5;
    border-color: #dfe2a7;
    color: #678801;
}
 
.cross {
    float: right;
    width: 12px;
    height: 12px;
    background: no-repeat 50% bottom;
    text-indent: -9999px;
    display: block;
    outline: none;
}
 
.blue .cross {
    background-image: url("{T_THEME_PATH}/images/blue-cross.gif");
}
 
.red .cross {
    background-image: url("{T_THEME_PATH}/images/red-cross.gif");
}
 
.green .cross {
    background-image: url("{T_THEME_PATH}/images/green-cross.gif");
}
 
.yellow .cross {
    background-image: url("{T_THEME_PATH}/images/yellow-cross.gif");
}


Osadzenie jQuery
Notatka: Osadzenie jQuery doda możliwość wyłączenia ogłoszenia krzyżykiem.
Otwórz: /styles/prosilver/template/overall_header.html
Znajdź:
Kod: Zaznacz cały
<script type="text/javascript" src="{T_TEMPLATE_PATH}/jquery.cookie.js"></script>

Dodaj po w nowej linii:
Kod: Zaznacz cały
<script type="text/javascript">
$(document).ready(function() {
    $("a.cross").click(function() {
        $(".global-notice").fadeOut();
        $.cookie('noticeState', 'hidden', { expires: 3, path: '/'});
    });
 
    var noticeState = $.cookie('noticeState');
 
    if(noticeState == 'hidden') {
        $(".global-notice").hide();
    };
});
</script>

Zapisz pliki prześlij na FTP odśwież szablony i motywy stylu.

Informacja:
Ponowne wyświetlenie ogłoszenia dla tego samego użytkownika pojawi się po 3 dniach, można to zmienić edytując plik overal_header.html
Kod: Zaznacz cały
$.cookie('noticeState', 'hidden', { expires: 3, path: '/'});

Jeżeli chodzi o zmianę koloru ogłoszenia również ustawić to można w pliku overal_header.html...
Kod: Zaznacz cały
<div class="global-notice notice-top green">

...zmieniając na green, red, yellow lub blue.

Jeżeli chcemy usunąć krzyżyk wyłączający ogłoszenie usuwamy z pliku overal_header.html
Kod: Zaznacz cały
<a class="cross" href="#">Zamknij</a>
-=Jeżeli w moim poście brakuje znaków diakrytycznych, oznacza to, że posta wyklepałem przez telefon=-
Offline

lakusz

  • Posty: 16
  • Rejestracja: 07 listopada 2013, 15:58

Re: Simple global notices

Post15 listopada 2013, 13:03

Czy da się ustawić aby ogłoszenie po kliknięciu X więcej u danego użytkownika sie nie pojawiło. Czyli pojawiało się tylko dla nowych ?
Offline

lakusz

  • Posty: 16
  • Rejestracja: 07 listopada 2013, 15:58

Re: Simple global notices

Post15 listopada 2013, 13:51

I jeszcze jedno, nie mam polskich znaków, tylkko jakieś romby ze znakami zapytania :(
Offline

Aviator

zespół

  • Posty: 2066
  • Rejestracja: 07 czerwca 2011, 22:14
  • Lokalizacja: ZS

Re: Simple global notices

Post17 listopada 2013, 14:32

lakusz pisze:Czy da się ustawić aby ogłoszenie po kliknięciu X więcej u danego użytkownika sie nie pojawiło.

Nie wiem za bardzo czy to pomoże, ale może w poniższym kodzie wpisz jakąś wysoką liczbę, choć nie wiem czy przypadkiem 365 to nie będzie maksimum:
Kod: Zaznacz cały
    $.cookie('noticeState', 'hidden', { expires: 3, path: '/'});

lakusz pisze:
lakusz pisze:I jeszcze jedno, nie mam polskich znaków, tylkko jakieś romby ze znakami zapytania

Plik overal_header.html musisz zapisać w kodowaniu UTF-8 bez BOM nie zapomnij odświeżyć szablonów stylu po powyższych zmianach.
-=Jeżeli w moim poście brakuje znaków diakrytycznych, oznacza to, że posta wyklepałem przez telefon=-

Wróć do Komponenty

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości