System newsów dla phpbb3
30 października, 2011
Potrzebowałem niedawno systemu newsów do swojego forum i liczyłem że znajdę gotowca, który spełni moje oczekiwania. A były całkiem proste i moim zdaniem łatwe do spełnienia. Ale oczywiście nic mi nie pasowało, więc napisałem coś własnego. Chciałem jedynie aby:
- 'nowościami' mogły zostawać poszczególne posty na forum, niezależnie w jakim dziale/temacie się znajdują (i aby ten dział był wyświetlany)
- by można było newsom nadawać inne tytuły niż temat
- newsy miały się wyświetlać na głównej jedynie w formie tytułów.
Moje 'arcydzieło' współpracuje jedynie z wgranym modem phpbbseo - generuje linki do postów i działów w sposób jaki robi to mod seo.
Systemik nie powala jakością (i ilością) kodu. Nie ma mega zestawu opcji, dziesięciu wersji językowych i fikuśnej klikanej konfiguracji. Po prostu działa i to było jego głównym zadaniem. Może jakoś w przyszłości go poprawię lub coś dodam. Zaznaczam że nie mam pojęcia jak wygląda na 'czystym' szablonie prosilver ale u mnie to wygląda to tak (kliknij by zobaczyć na żywca):
Sposób instalacji - ściągnij wersję 0.1 (4kb)
1) Wklej wszystkie pliki z archiwum do głównego katalogu forum2) Na końcu pliku includes/constans.php dodaj:
define('NEWS', $table_prefix . 'news');
3) Otwórz index.php i znajdź tekst:
// Output pagei dodaj przed nim:
if (!function_exists('display_news'))
{
include($phpbb_root_path . 'includes/functions_news.' . $phpEx);
}
display_news(5);4) Dodaj do pliku styles/provilver/template/index_body.tpl, w miejscu w którym mają wyświetlać się newsy:
<!-- INCLUDE mods/news.html -->
5) Otwórz plik styles/provilver/template/view_topic.tpl i znajdź w nim tekst:
<!-- IF postrow.U_QUOTE -->
i dodaj przed nim:
<!-- IF U_MCP --><li><a href="news.php?add={postrow.POST_ID}">(dodaj jako news)</a></li><!-- ENDIF -->
6) Wrzuć w phpmyadmin plik localhost.sql (wcześniej podmień prefix bazy na swój własny)
Liczba 5 w display_news() jest liczbą newsów wyświetlanych na stronie. Dodawać newsy mogą moderatorzy i administratorzy. Testowane na phpbb 3.08.
