Page 1 of 1

KB Archiv DE: Board3 Portal 1.0.x - Feintuning

Posted: 21. January 2017 17:50
by Kevin
Board3 V1.0.3 und Advanced phpBB3 SEO Mod RewriteV0-4-8

Für die nachfolgende Anleitung ist der vorherige Einbau des Board3 Portals 1.0.3 und des Advanced phpBB3 SEO Mod RewriteV0-4-8 vorausgesetzt.

die Änderung der index.php => forum.html
Change index.php to forum.html
öffne/open phpbb_seo/phpbb_seo_class.php
Finde/find:

Code: Select all

$this->seo_static = array( 'forum' => 'forum', 'topic' => 'topic', 'post' => 'post', 'user' => 'member', 'group' => 'group', 'index' => '', 'global_announce' => 'announces', 'leaders' => 'the-team', 'atopic' => 'active-topics', 'utopic' => 'unanswered', 'npost' => 'newposts', 'pagination' => 'page', 'gz_ext' => '.gz' );  
finde in der Zeile/in the Line find:

Code: Select all

'index' => ''  
ersetze/replace mit:

Code: Select all

'index' => 'forum'  
nach dem Klick auf den Portal Link sollte die Browserzeile ohne http://www.../portal.php dargestellt werden
after click on the Portal link the browsers topic line should be displayed without http://www.../portal.php
dafür folgende Änderung
for this the followed Changes

öffne/open includes/functions.php
finde/find:

Code: Select all

'U_PORTAL'                => ($portal_config['portal_enable']) ? append_sid("{$phpbb_root_path}portal.$phpEx") : '',  
ersetze/replace mit:

Code: Select all

'U_PORTAL'        => ($portal_config['portal_enable']) ? append_sid("{$phpbb_root_path}") : '',  

Die Änderungen an der recent.php sind auf jeden Fall erforderlich und müssen 3 mal durchgeführt werden
the changes to the recent.php are necessary in any case and must be carried out 3 times
öffne portal/block/recent.php
finde/find:

Code: Select all

$sql = 'SELECT topic_title, forum_id, topic_id
ersetze/replace mit:

Code: Select all

$sql = 'SELECT topic_title, forum_id, topic_id, topic_type
finde/find:

Code: Select all

if ( ($auth->acl_get('f_read', $row['forum_id'])) || ($row['forum_id'] == '0') )
{  
danach einfügen/add after:

Code: Select all

// www.phpBB-SEO.com SEO TOOLKIT BEGIN
if ( empty($phpbb_seo->seo_url['topic'][$row['topic_id']]) ) {
       if ($row['topic_type'] == POST_GLOBAL) {
          $phpbb_seo->seo_opt['topic_type'][$row['topic_id']] = POST_GLOBAL;
       }
       $phpbb_seo->seo_url['topic'][$row['topic_id']] = $phpbb_seo->format_url(censor_text($row['topic_title']));
    }
// www.phpBB-SEO.com SEO TOOLKIT END   
öffne/open portal/block/news.php
diese Änderung muss 2 mal erfolgen
the changes must be carried out 2 times
finde/find:

Code: Select all

$forum_id = $fetch_news[$i]['forum_id'];
$topic_id = $fetch_news[$i]['topic_id'];  
danach einfügen/ add after:

Code: Select all

            // www.phpBB-SEO.com SEO TOOLKIT BEGIN
            if ( !empty($fetch_news[$i]['forum_name']) && empty($phpbb_seo->seo_url['forum'][$forum_id]) ) {
                $phpbb_seo->seo_url['forum'][$forum_id] = $phpbb_seo->set_url($fetch_news[$i]['forum_name'], $forum_id, $phpbb_seo->seo_static['forum']);
            }
            if ( empty($phpbb_seo->seo_url['topic'][$topic_id]) ) {
                if (@$fetch_news[$i]['topic_type'] == POST_GLOBAL) {
                    $phpbb_seo->seo_opt['topic_type'][$topic_id] = POST_GLOBAL;
                }
                $phpbb_seo->seo_url['topic'][$topic_id] = $phpbb_seo->format_url(censor_text($fetch_news[$i]['topic_title']));
            }
            // www.phpBB-SEO.com SEO TOOLKIT END   
öffne/open portal/block/announcements.php
diese Änderung muss 2 mal erfolgen
the changes must be carried out 2 times
finde/find:

Code: Select all

             $forum_id = $fetch_news[$i]['forum_id'];
             $topic_id = $fetch_news[$i]['topic_id'];
danach einfügen/ add after:

Code: Select all

                  // www.phpBB-SEO.com SEO TOOLKIT BEGIN
                 if ( !empty($fetch_news[$i]['forum_name']) && empty($phpbb_seo->seo_url['forum'][$forum_id]) ) {
                    $phpbb_seo->seo_url['forum'][$forum_id] = $phpbb_seo->set_url($fetch_news[$i]['forum_name'], $forum_id, $phpbb_seo->seo_static['forum']);
                 }
                 if ( empty($phpbb_seo->seo_url['topic'][$topic_id]) ) {
                    if (@$fetch_news[$i]['topic_type'] == POST_GLOBAL) {
                       $phpbb_seo->seo_opt['topic_type'][$topic_id] = POST_GLOBAL;
                    }
                    $phpbb_seo->seo_url['topic'][$topic_id] = $phpbb_seo->format_url(censor_text($fetch_news[$i]['topic_title']));
                 }
                 // www.phpBB-SEO.com SEO TOOLKIT END
den ACP | styles | template | cache | leeren und ACP | Cache | leeren
clear your styles cache an your ACP cache

Peter

Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=46]Knowledge Base: Board3 V1.0.3 und Advanced phpBB3 SEO Mod RewriteV0-4-8[/url]

Änderungen an den Styles Dateien

Posted: 21. January 2017 17:50
by Kevin
Hallo Gemeinde,
dieses Thema soll allen helfen, die Problemen haben nach Änderungen an die Styles Dateien, den hier muss folgendes beachtet werden:


Änderungen an Templates:
Gehe ins ACP und wähle "Styles -> Templates -> dein Style, welches geändert hast" aus und klicke den Link "Aktualisieren" und dann bei der Bestätigungsfrage mit "Ja" bestätigen.

Änderungen an Themes:
Gehe ins ACP und wähle "Styles -> Themes -> dein Style, welches geändert hast" aus und klicke den Link "Aktualisieren" und dann bei der Bestätigungsfrage mit "Ja" bestätigen.

Änderungen an Grafiksammlungen:
Gehe ins ACP und wähle "Styles -> Grafiksammlungen -> dein Style, welches geändert hast" aus und klicke den Link "Aktualisieren" und dann bei der Bestätigungsfrage mit "Ja" bestätigen.

Im Anschluss noch unter "ACP -> Allgemein" und dort bei "Den Cache leeren" den Button "Jetzt ausführen" klicken.

Empfehlenswert ist noch den Browser-Cache zu aktualisieren, dazu einfach "F5" auf deine Tastatur drücken.

Danach sollte alle deine Änderungen die am Style durchgeführt hast, auf der Seite angezeigt werden.


Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=29]Knowledge Base: Änderungen an den Styles Dateien[/url]

Blöcke verschieben / Reihenfolge ändern

Posted: 21. January 2017 17:51
by Kevin
Vorab: diese Anleitung ist für subsilver2 identisch.
  • Welche Datei muss bearbeitet werden?
    Die Dateien, in der die Reihenfolge und Position der Blöcke festgelegt werden:
    root\styles\prosilver\template\portal\portal_left.html
    root\styles\prosilver\template\portal\portal_center.html
    root\styles\prosilver\template\portal\portal_right.html
  • Woran erkenne ich welche Datei für die rechte, mittlere oder linke Spalte steht?
    Der Dateiname nach portal_ sagt dir für welche Spalte die Datei Code enthält.
    portal_left.html steht für die linke Spalte, portal_right.html für die rechte. portal_center.html steht demnach für die mittlere Spalte.
  • Was gehört an Code immer zu einem Block?
    Der Code der einzelnen Blöcke ist durch Leerzeilen getrennt. Zu einem Block gehören grundsätzlich immer mindestens eine IF und eine ENDIF Bedingung.
    So sieht z.B. der Codeblock für die Umfragen aus:

    Code: Select all

            <!-- IF S_DISPLAY_POLL -->
                <!-- INCLUDE portal/block/poll.html -->
            <!-- ENDIF -->  
    Es können aber auch mehrere Abfragen (IF Bedingungen) vorhanden sein, wie z.B. bei den Bekanntmachungen:

    Code: Select all

            <!-- IF S_DISPLAY_ANNOUNCEMENTS -->
            <!-- IF S_ANNOUNCE_COMPACT -->
                <!-- INCLUDE portal/block/announcements_compact.html -->
            <!-- ELSE -->
                <!-- INCLUDE portal/block/announcements.html -->
            <!-- ENDIF -->
            <!-- ENDIF -->  
    Die Namen sind auf Englisch und sollten selbsterklärend sein.
    Sicherheithalber hier eine Übersetzung.
  • Wie verschiebe ich nun einen Block?
    Man sucht sich den Code, der zu dem Block gehört, (inkl. IF und ENDIF Bedingungen!) heraus, schneidet ihn aus und verschiebt ihn an die gewünschte Position.
    Grundsätzlich muss der verschobene Block wieder hinter einer <!-- ENDIF --> Bedingung eingefügt werden.
    Tipp: die Anzahl an IF und ENDIF Bedingungen müssen immer identisch sein (öffnend / schließend). Notfalls zählen.

    Ab 1.0.5 wurde die portal.php verändert um unnötige Datenbank Anfragen zu verhindern, falls eine Spalte abgeschaltet wurde. Wenn man einen Block von einer Seite zur Anderen verschiebt (z.B. von links nach rechts), dann muss man den Block auch in der portal.php verschieben. Zur Verdeutlichung gibt es ein Beispiel. Wir werden den Vielschreiber Block von der linken in die rechte Spalte verschieben:
    Öffne portal.php
    Sobald man die Datei geöffnet hat, findet man den Code für die Linke Spalte im IF-Befehl unter diesem Kommentar:

    Code: Select all

    // load blocks in the left column
    Der Code der rechten Spalte befindet sich im IF-Befehl unter diesem Kommentar:

    Code: Select all

    // load blocks in the right column
    Jeder Block ist wie folgt eingebunden:

    Code: Select all

    	if ($portal_config['portal_top_posters'])
    	{
    		include($phpbb_root_path . 'portal/block/top_posters.' . $phpEx);
    	}
    Über und unter dem Code für den Block ist jeweils eine Leerzeile..

    Falls man den Vielschreiber block von der linken in die rechte Spalte verschieben will, muss man folgenden Code ausschneiden:

    Code: Select all

    	if ($portal_config['portal_top_posters'])
    	{
    		include($phpbb_root_path . 'portal/block/top_posters.' . $phpEx);
    	}
    Und danach im IF-Befehl für die rechte Spalte einfügen, z.B. nach dem folgenden:

    Code: Select all

    // load blocks in the right column
    if($portal_config['portal_right_column'])
    {
    	$template->assign_var('S_RIGHT_COLUMN', true);
Noch ein weiterer Hinweis: es ist nicht zu empfehlen seitliche Boxen in die Mitte zu verschieben und anders herum. Ansonsten könnte es nicht mehr so schön aussehen, da die seitlichen Boxen einen anderen Rahmen haben als die mittleren.

Abschließend die Dateien speichern, hochladen und den Cache leeren. Eventuell auch das Template rekompilieren.

Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=12]Knowledge Base: Blöcke verschieben / Reihenfolge ändern[/url]

Verschieben von portal.php außerhalb des phpBB3-Ordners

Posted: 21. January 2017 17:52
by Kevin
So verschiebst du portal.php aus dem phpBB3-Ordner ...

... z.B. von http://www.mysite.com/forum/portal.php nach http://www.mysite.com/portal.php.

In dieser Anleitung gehen wir davon aus, dass dein Forum im Ordner /forum/ liegt. Falls die Bezeichnung deines Foren-Ordners anders lautet, so ändere bitte alle Vorkommen von /forum/ entsprechend.

Verschiebe /forum/portal.php nach /portal.php.

Erstelle bzw. bearbeite /.htaccess und füge hinzu:

Code: Select all

DirectoryIndex portal.php index.php index.html index.htm
Bearbeite /forum/.htaccess
Lösche

Code: Select all

DirectoryIndex portal.php index.php index.html index.htm
Öffne /portal.php
Finde

Code: Select all

$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';   
Ersetze mit

Code: Select all

$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';   
Öffne /forum/includes/functions.php
Finde

Code: Select all

        'U_PORTAL'            => append_sid("{$phpbb_root_path}portal.$phpEx"),   
Ersetze mit

Code: Select all

        'U_PORTAL'            => append_sid("../portal.$phpEx"),   
Öffne /forums/portal/block/news.php
Finde

Code: Select all

{$phpbb_root_path}portal.$phpEx
Ersetze mit

Code: Select all

portal.$phpEx
Wichtig: du musst diesen Code ein paar Mal suchen und ersetzen!
Mache das selbe mit diesen Dateien
  • /forums/portal/block/announcements.php
  • /forums/portal/block/change_style.php
  • /forums/portal/block/login_box.php
  • /forums/portal/block/minical.php
Speichern, hochladen, Cache leeren, das war's.

Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=1]Knowledge Base: Verschieben von portal.php außerhalb des phpBB3-Ordners[/url]

Eigenen Menupunkt hinzufügen

Posted: 21. January 2017 17:52
by Kevin
Viele User möchten das Menu des Portal (linke Spalte, ganz oben) um eigene Einträge erweitern.

In dieser FAQ unterscheiden wir 3 Arten von Links:

1. Foren-interne Links auf bereits definierte Funktionen (bereits installierte MODs o.ä.)
2. Foren-interne Links auf Funktionen, die (noch) nicht forenweit definiert wurden
3. Externe Links auf andere Internet-Seiten

1. Hier eine Anleitung, bei welcher ein Link für die Arcade-MOD eingebaut werden soll (also ein Foren-interner Link):

Öffne

root/styles/*dein_style*/template/portal/block/main_menu.html

Finde

Code: Select all

    <li><a href="{U_INDEX}">{L_INDEX}</a></li>  
Füge danach ein (oder wo auch immer du den Link haben möchtest)

Code: Select all

    <li><a href="{U_ARCADE}">{L_ARCADE}</a></li>  
Speichern, hochladen, Cache leeren, fertig.

---------------------------------------------------------------------------------

2. Hier eine Anleitung, bei welcher ein Foren-interner Link eingebaut werden soll, für den aber noch keine Sprachvariable definiert wurde (eine eigene php-Datei vielleicht ...):

Öffne

root/styles/*dein_style*/template/portal/block/main_menu.html

Finde

Code: Select all

    <li><a href="{U_INDEX}">{L_INDEX}</a></li>  
Füge danach ein (oder wo auch immer du den Link haben möchtest)

Code: Select all

    <li><a href="{U_MEIN_LINK}">{L_MEIN_LINK}</a></li>  
Öffne

root/includes/functions.php

Finde

Code: Select all

    'U_PORTAL'         => append_sid("{$phpbb_root_path}portal.$phpEx"),    
Füge danach ein

Code: Select all

    'U_MEIN_LINK'         => append_sid("{$phpbb_root_path}mein_link.$phpEx"),    
Öffne

root/language/de/mods/lang_portal.php (Beispiel bei der Verwendung deutscher Sprachdateien)

Finde

Code: Select all

    'M_SEARCH'                        => 'Suche',    
Füge danach ein

Code: Select all

    'MEIN_LINK'                        => 'Mein Link',    
U_MEIN_LINK und L_MEIN_LINK können jetzt in allen templates verwendet werden.

Speichern, hochladen, Cache leeren, fertig.

---------------------------------------------------------------------------------

3. Hier eine Anleitung, bei welcher ein externer Link eingebaut werden soll (also ein Link auf eine andere Internet-Seite):

Öffne

root/styles/*dein_style*/templates/portal/block/main_menu.html

Finde

Code: Select all

    <li><a href="{U_MEMBERLIST}">{L_MEMBERLIST}</a></li>  
(oder eine andere Stelle in der Definition der Menupunkte)

Füge davor ein (oder danach, wo du den Link halt haben möchtest)

Code: Select all

<li><a href="http://www.domain.de/" title="Mein Internet-Link">Mein Internet-Link</a></li>  
Wenn du möchtest, dass der Link in einem neuen Browser-Fenster bzw. -Tab geöffnet wird, notiere

Code: Select all

<li><a href="http://www.domain.de/" title="Mein Internet-Link" onclick="window.open(this.href); return false;">Mein Internet-Link</a></li>  
Das ist valid nach XHTML 1.0 STRICT, funktioniert aber nur mit aktiviertem JavaScript.

Anstelle von

Code: Select all

onclick="window.open(this.href); return false;"  
könntest du auch schreiben

Code: Select all

Target="_blank"  
das wäre aber nicht mehr valid nach XHTML 1.0 STRICT.

Speichern, hochladen, Cache leeren, fertig.


Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=17]Knowledge Base: Eigenen Menupunkt hinzufügen[/url]

Nach Login/-out zum Portal statt zum Index?

Posted: 21. January 2017 17:53
by Kevin
Öffne ucp.php

Zurück zum Portal nach dem Login

suche:

Code: Select all

    case 'login':
        if ($user->data['is_registered'])
        {
            redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
        }

        login_box(request_var('redirect', "index.$phpEx"));
    break;    
ersetze mit:

Code: Select all

    case 'login':
        if ($user->data['is_registered'])
        {
            redirect(append_sid("{$phpbb_root_path}portal.$phpEx"));
        }

        login_box(request_var('redirect', "portal.$phpEx"));
    break;    

Zurück zum Portal nach dem Logout

suche:

Code: Select all

    case 'logout':
        if ($user->data['user_id'] != ANONYMOUS && isset($_GET['sid']) && !is_array($_GET['sid']) && $_GET['sid'] === $user->session_id)
        {
            $user->session_kill();
            $user->session_begin();
            $message = $user->lang['LOGOUT_REDIRECT'];
        }
        else
        {
            $message = ($user->data['user_id'] == ANONYMOUS) ? $user->lang['LOGOUT_REDIRECT'] : $user->lang['LOGOUT_FAILED'];
        }
        meta_refresh(3, append_sid("{$phpbb_root_path}index.$phpEx"));

        $message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a> ');
        trigger_error($message);

    break;    
ersetze mit:

Code: Select all

    case 'logout':
        if ($user->data['user_id'] != ANONYMOUS && isset($_GET['sid']) && !is_array($_GET['sid']) && $_GET['sid'] === $user->session_id)
        {
            $user->session_kill();
            $user->session_begin();
            $message = $user->lang['LOGOUT_REDIRECT'];
        }
        else
        {
            $message = ($user->data['user_id'] == ANONYMOUS) ? $user->lang['LOGOUT_REDIRECT'] : $user->lang['LOGOUT_FAILED'];
        }
        meta_refresh(3, append_sid("{$phpbb_root_path}portal.$phpEx"));

        $message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}portal.$phpEx") . '">', '</a> ');
        trigger_error($message);

    break;    

Text "Zurück zur Foren-Übersicht" ändern in "Zurück zum Portal"

öffne root\language\de\common.php
suche:

Code: Select all

'RETURN_INDEX'				=> '%sZurück zur Foren-Übersicht%s',
ersetze durch:

Code: Select all

'RETURN_INDEX'				=> '%sZurück zum Portal',
je nach Editor kann es auch so aussehen:
suche:

Code: Select all

'RETURN_INDEX'				=> '%sZurück zur Foren-Übersicht%s',
ersetze durch:

Code: Select all

'RETURN_INDEX'				=> '%sZurück zum Portal',

Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=9]Knowledge Base: Nach Login/-out zum Portal statt zum Index?[/url]

Andere Uhr? So geht's:

Posted: 21. January 2017 17:53
by Kevin
Um die Uhr in deinem Portal zu ändern, google nach "flash clock".

Wenn du eine Uhr gefunden hast die dir gefällt, lade das flash-file herunter, kopiere es mit dem Namen "board3clock.swf" in den Ordner /root/styles/*dein_style*/theme/images/portal/

Eventuell musst du "width" und "height" anpassen in /root/styles/*dein_style*/template/portal/block/clock.html

Nach dem Editieren und Hochladen nicht vergessen, im ACP den Cache zu leeren.


Download Link (save as)


Download Link (save as)

Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=21]Knowledge Base: Andere Uhr? So geht's:[/url]

Woher nehme ich die Foren-ID?

Posted: 21. January 2017 17:54
by Kevin
In einigen Blöcken des Portals geschieht die Auswahl der anzuzeigenden Foren und/oder Beiträge über die so genannte Foren-ID.

Die Frage ist nun, woher weiß man, welche ID welches Forum hat ...

Die Foren-ID ist eine Zahl, unter welcher das Forum in der Datenbank identifiziert wird. Das Portal verwendet diese Angabe zur Anzeige (oder Unterdrückung) des betreffenden Forums zum Beispiel im Block "Letzte Bekanntmachung".

Es ist eigentlich ganz einfach:

In der Portal- oder Index-Ansicht zeige mit der Maus auf den Titel des betreffenden Forums.

In der Statusleiste des Browsers erscheint nun eine Anzeige nach diesem Muster:

Code: Select all

http://www.yourdomain.com/phpbb3/viewtopic.php?f=100
Die Zahl hinter dem "f" ist die ID des Forums (hier "100")

Eine Anzeige wie

Code: Select all

http://www.yourdomain.com/phpbb3/viewtopic.php?f=100&t=200
verrät dann auch gleich die Topic-ID ("t=200")

und eine Anzeige wie

Code: Select all

http://www.yourdomain.com/phpbb3/viewtopic.php?f=100&t=200&p=300
sagt dir auch gleich die ID des betreffenden Postings ("p=300")

Die Foren-ID (hier also die "100") kann dann im ACP bei den Einstellungen des Portals (z.B. bei "ID des Forums der Bekanntmachungen") eingetragen werden. Falls hier mehrere Foren eingetragen werden sollen, die IDs durch Kommata trennen (also z.B. 1,2,3).

Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=33]Knowledge Base: Woher nehme ich die Foren-ID?[/url]

Die portal.css anpassen/bearbeiten

Posted: 21. January 2017 17:54
by Kevin
Hallo,

marc hat dazu eine gute Anleitung geschrieben. Ich setze diese mal in einen eigenen Thread, damit ihr euch die Suche danach sparen könnt.

Die portal.css wirkt sich nur bei Styles aus, die auf Prosilver basieren und farblich nur im Main- und User-Menü.

Je nach Farbe im Original-Style müssen diese angepasst werden.

Hier die Anleitung, etwas abgeändert:

Es müssen die Dateien in /styles/*dein_style*/theme/images/portal/ und die Hintergrundfarben in der portal.css bearbeitet werden.

Beispiel:

Kopiere die Datei bg_menu.gif aus dem Ordner /styles/*dein_style*/theme/images/ in den Ordner /styles/*dein_style*/theme/images/portal/.

Lösche im Ordner bg_portalmenu.gif und benenne die kopierte bg_menu.gif um in bg_portalmenu.gif

Jetzt öffne diese Datei mit einem Bildbearbeitungsprogramm (Photoshop, Gimp, PaintShop ...), spiegele das Bild und speichere es als bg_portalmenu1.gif im Ordner /styles/*dein_style*/theme/images/portal/.

Weiter müssen folgende Werte in portal.css geändert werden:

Code: Select all

.portal-navigation li a{
display: block;
padding: 3px 0;
padding-left: 9px;
width: auto; /*185px minus all left/right paddings and margins*/
text-decoration: none;
color: white;
background-color: #11A1E8;
background-image: url("{T_THEME_PATH}/images/portal/bg_portalmenu.gif");
border-bottom: 1px solid #90bade;
border-left: 7px solid #6ACEFF;}
  
und

Code: Select all

.portal-navigation li a:hover {
background-color: #2586d7;
background-image: url("{T_THEME_PATH}/images/portal/bg_portalmenu1.gif");
border-left-color: #AA0000;}
  
Soweit die Anleitung von marc. Die Farben sollten entsprechend dem verwendeten Style gesetzt/gewählt werden.


Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=6]Knowledge Base: Die portal.css anpassen/bearbeiten[/url]

Welches Template gehört zu welchem Block?

Posted: 21. January 2017 17:55
by Kevin
Hier eine Liste / Übersetzung der Templatenamen, falls man mal einen Block sucht und ändern möchte.

Diese Dateien befinden sich in:
root\styles\prosilver\template\portal\

Linke Spalte:
  • main_menu.html = Hauptmenü
  • birthday_list.html = Geburtstagsliste
  • clock.html = Uhr
  • search.html = Suchbox
  • random_member.html = Zufälliges Profil
  • attachments.html = Dateianhänge
  • custom_small.html = Aktiver Block (klein)
  • change_style.html = Mein Board-Style
  • top_poster.html = Die Vielschreiber
  • latest_members.html = Neue Mitglieder
  • link_us.html = Link zu uns
Mittlere Spalte:
  • general_block.html = Ein "Sonderblock", den wir für Meldungen nutzen. Wie z.B das noch das Installationsverzeichnis vorhanden ist, ein Update vorliegt oder der Admin gerade in einem Userkontext unterwegs ist.
  • welcome.html = Willkommensbox
  • custom_center.html = Aktiver Block (groß / Mitte)
  • recent.html = Aktuelles
  • announcements_compact.html = Letzte Bekanntmachung (kompakte Ansicht)
  • announcements.html = Letzte Bekanntmachung (Text / große Ansicht)
  • news_compact.html = Aktuelle Beiträge (kompakte Ansicht)
  • news.html = Aktuelle Beiträge (Text / große Ansicht)
  • poll.html = Umfragen
  • forumlist_body.html = Forenübersicht
  • whois_online.html = Wer ist online?
  • donation.html = Spenden (groß)
  • wordgraph.html = Wordgraph
  • jumpbox.html = Gehe zu:
Rechte Spalte:
  • login_box.html = Login / Anmelde Box
  • user_menu.html = Benutzermenü
  • online_friends.html = Freunde
  • statistics.html = Statistik
  • mini_calendar.html = Kalender
  • leaders.html = Das Team
  • latest_bots.html = Die letzten X Bot Besuche
  • links.html = Links
  • donation_small.html = Spenden (klein)

Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=13]Knowledge Base: Welches Template gehört zu welchem Block?[/url]

_block_config.html: Blöcke an Style anpassen

Posted: 21. January 2017 17:56
by Kevin
In der Version 1.0.3 wurde ein spezielles Header/Content/Footer-Konstrukt für die Blöcke eingeführt, das dem des Forums sehr ähnlich ist. Dies ermöglicht das wesentlich einfachere individuelle Gestalten und Anpassen der Blöcke an den von euch verwendeten Style.

Um nun damit zu beginnen die Blöcke anzupassen, sollte man verstehen wie das Ganze funktioniert:

Im Ordner /styles/DEIN_STYLE/template/portal/ befindet sich die Datei _block_config.html, in welcher der Header und Footer der Blöcke definiert sind.

In den Blöcken werden für die Rahmen der Blöcke nun statt dem bisher üblichen HTML-Code nur noch diese definierten Variablen verwendet.

Möchte man jetzt das Aussehen der Blöcke verändern, muss man das nicht in allen vorhandenen Blöcken machen, sondern lediglich in dieser einen _block_config.html.

Dabei ist es möglich, zwischen den Blöcken am Rand (links und rechts) und den Blöcken in der Mitte zu unterscheiden.
Da sich bei einigen Styles die äußeren Blöcke von den mittleren optisch unterscheiden, gibt es für beide Varianten jeweils einen separaten Satz an Variablen.

Natürlich kann man auch beide gleich belegen, wenn die Blöcke optisch gleich sind.

Es sind jeweils vier Variablen notwendig: zwei für den Header und zwei für den Footer.

Anhand der Grafik kann man erkennen wie die Variablen aufgeteilt sind.

Image

Als Beispiel nehmen wir hier mal die Variablen eines äußeren Blocks:

Code: Select all

<!-- DEFINE $LR_BLOCK_H_L = 'hier wird die linke Headerhälfte definiert, inklusive dem Anfang der Formatierung der Überschrift' -->
<!-- DEFINE $LR_BLOCK_H_R = 'hier wird die rechte Headerhälfte definiert, inklusive dem Ende der Formatierung der Überschrift' -->
<!-- DEFINE $LR_BLOCK_F_L = 'hier wird die linke Footerhälfte definiert' -->
<!-- DEFINE $LR_BLOCK_F_R = 'hier wird die rechte Footerhälfte definiert' -->  
Im Block selbst wird das dann so verwendet:

Code: Select all

{$LR_BLOCK_H_L}<img src="Block_Bild"/>&nbsp;{Block_Überschrift}{$LR_BLOCK_H_R}
        ....
       Block Inhalt
        ....
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R}  
Die Variablen sind so aufgebaut:
$LR_BLOCK_H_L = Linker und Rechter Block HeaderLeft
$C_BLOCK_F_R = Center Block FooterRight

usw. ...

Soviel zur Theorie ...

Nun noch ein kleines praktisches Beispiel, um die Wirkungsweise zu veranschaulichen:

Dies ist der Quelltext eines simplen Randblockes, wie er im Browser am Ende ausgegeben werden soll.

Die roten Teile kommen aus der Config-Datei, die grünen befinden sich im Blocktemplate.
<table>
<tr><td><span style="text-align: left">
Überschrift</span></td></tr>
<tr><td>

<table>
<tr><td>Blockinhalt</td></tr>
</table>

</td>
</tr>
</table>
Die _block_config.html würde in diesem Fall so aussehen:

Code: Select all

<!-- DEFINE $LR_BLOCK_H_L = '<table><tr><td><span style="text-align: left">' -->
<!-- DEFINE $LR_BLOCK_H_R = '</span></td></tr><tr><td>' -->
<!-- DEFINE $LR_BLOCK_F_L = '' -->
<!-- DEFINE $LR_BLOCK_F_R = '</td></tr></table><br />' -->   
Das Blocktemplate:

Code: Select all

{$LR_BLOCK_H_L}{L_HEADLINE}{$LR_BLOCK_H_R }
<table>
<tr><td>Blockinhalt</td></tr>
</table>
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R }   
Für den Code in der Config gibt es ein paar Dinge auf die man achten sollte, um Fehler zu vermeiden:
  • Es dürfen innerhalb einer Definition keine Zeilenumbrüche stehen.
    Wenn man also Code aus den Blöcken in die Config kopiert, bitte zwischen den einzelnen Tags alle Leerzeichen entfernen, so dass der gesamte Text in einer Zeile steht.
  • Es dürfen keine einfachen Anführungszeichen innerhalb einer Definition genutzt werden.
    Es sollten deshalb ( " ) anstatt ( ' ) genutzt werden.
  • Es dürfen keine Variablen innerhalb der Definition genutzt werden
    falsch: <img src="{T_THEME_PATH}/images/icon_01.png" width="47" height="41" alt="" />
    richtig: <img src="./styles/DEIN_SYTLE/theme/images/icon_01.png" width="47" height="41" alt="" />
  • Am Ende der Footer-Definition muss der Tag für einen Zeilenumbruch eingefügt werden.
    Um die Blöcke horizontal etwas voneinander zu trennen, sollte der letzten Definition (footer rechts) am Ende ein <br /> angefügt werden.
    <!-- DEFINE $*_BLOCK_F_R = '</td></tr></table><br />' -->
TIPPS:
  • Vor dem Update auf die Version 1.0.3 ist es bei bereits von euch angepassten Styles empfehlenswert, eine Sicherung der Blocktemplates zu erstellen, um sie als Referenz für den Bau der Config-Datei nutzen zu können.
  • In der _block_config.html lassen sich auch weitere Variablen definieren, die dann in all euren Blöcken zur Verfügung stehen.
Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=44]Knowledge Base: _block_config.html: Blöcke an Style anpassen[/url]

phpBB-(Sprachdateien) richtig bearbeiten

Posted: 21. January 2017 17:56
by Kevin
Die Sprachdateien von phpBB 3.0.x sind in "UTF-8 ohne BOM" kodiert (BOM = "byte-order mark"), da php-Skripte mit der BOM nichts anfangen können, sondern vielmehr beim Auffinden einer solchen eine Fehlermeldung ausgeben, die sich auf die "header information" bezieht.

Das Problem der korrekten Kodierung tritt hierzulande vor allem im Zusammenhang mit deutschen Umlauten auf. Wenn diese in einem php-Skript einfach über die Tastatur eingegeben werden, tritt ein Fehler auf.

Nach den phpBB 3.0.x-Coding-Guidelines ist es auch nicht zulässig, so genannte "html-entities" zu verwenden, also z.B. "&Auml;" anstelle von "Ä" oder "&ouml;" anstelle von "ö".

Abhilfe schafft hier ein Editor der es ermöglicht, die php-Dateien korrekt zu kodieren, eben als "UTF-8 ohne BOM". Ein solcher Editor ist z.B. "Notepad++".

Mit einem solchen Editor können - sofern die korrekte Kodierung eingestellt ist - deutsche Umlaute einfach über die Tastatur eingegeben werden.

Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=26]Knowledge Base: phpBB-(Sprachdateien) richtig bearbeiten[/url]

site_logo Verlinkung auf das Portal

Posted: 21. January 2017 17:57
by Kevin
prosilver:

Öffne: /styles/prosilver/template/overall_header.html

suche:

Code: Select all

<a href="{U_INDEX}" title="{L_INDEX}" id="logo">{SITE_LOGO_IMG}</a>
ersetze mit:

Code: Select all

<a href="{U_PORTAL}" title="{L_INDEX}" id="logo">{SITE_LOGO_IMG}</a>

subsilver2:

Öffne: /styles/subsilver2/template/overall_header.html

suche:

Code: Select all

<td><a href="{U_INDEX}">{SITE_LOGO_IMG}</a></td>
und ersetze mit:

Code: Select all

<td><a href="{U_PORTAL}">{SITE_LOGO_IMG}</a></td>

Nicht vergessen den Foren-Cache zu leeren!

Quicklink:

Code: Select all

[url=http://www.board3.de/knowledge/kb_show.php?id=35]Knowledge Base: site_logo Verlinkung auf das Portal[/url]