Grundsätzliche Stuktur der Programmierung unklar

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Jens G.
Mitglied
Beiträge: 31
Registriert: 05.03.2008 23:34

Grundsätzliche Stuktur der Programmierung unklar

Beitrag von Jens G. »

Hallo zusammen.

Ich habe jetzt seit ca. einer Woche ein phpBB-Forum im Fiapple-Design.
Ich habe ein paar Kleinigkeiten am Design verändert (Logo eingefügt etc.) aber ich komme mit der allgemeinen Sturktur der Programmierung nicht zurecht.
Ich suche oft eine Stelle, an der Oberfläche, finde sie dann auch um aber festzustellen, dass der Wert über eine Variable geregelt wird, die ich dann aber nicht weiter zurück verfolgen kann.

Beispielsweise im overall_header.tpl sind die ganzen Tabs des Menüs. Die Verweise auf die jeweiligen Templates, die hinter den Bildchen steckten steht in geschweiften Klammern als Variablen. Ich finde aber die Inizialisierung der Variable nicht, in der beschrieben ist, dass genau diese Variable z.B. das Profil-Template anspricht.

Ich habe zwei neue Templates im Forum eingeführt. Beide sind über Tabs im Menü (overall_header.tpl) erreichbar. Da ich aber zu doof bin so eine Variable selbst zu erstellen, musste ich die Tabs mit einem direkten Verweis auf die jeweiligen Templates versehen, statt dem originalen Programmierstil zu folgen und die Sache irgendwo zentral zu deklarieren.

Zweites Beispiel ist die Navigation im Forum.
Das Forum heisst "FeierabendFunZocker". In der Navigation stand aber als oberste Ebene "FeierabendFunZocker Übersicht".
Das fand ich nicht schön und wollte das Wort "Übersicht" weg haben.
Natürlich habe ich die Stelle an der Oberfläche gefunden, doch wieder feststellen müssen, dass die Variable "L_INDEX" (glaube so hiess die) diesen Wortlaut einfügt. Natürlich konnte ich die Variable nicht weiter zurückverfolgen und musste in jedem Template händisch die Variable löschen und durch den statischen Text "FeierabendFunZocker" ersetzen.


Ich brauche einfach mal einen grundsätzlichen Überblick, wie das alles funktioniert, sonst mache ich mir am Ende mehr Arbeit, als nötig ist. Habe das Gefühl ich verpfusche mein Forum und brauche einfach mal jemand, der mich auf den richtigen Weg weisst und der mir sagt, wo ich was finde.


Kann mir bitte jemand helfen? :(
Benutzeravatar
darkon
Mitglied
Beiträge: 1133
Registriert: 08.08.2003 15:07
Wohnort: Wölfersheim

Beitrag von darkon »

Die ganzen L-Variablen wie {L_INDEX} sind in den Sprachdateien definiert. Also mußt du die entsprechende Datei in deinem Languages-Ordner editieren.

Andere Variablen können aus allen möglichen php-Dateien, Includes-Dateien etc. übernommen werden. Aber was willst du an denen herumbasteln? Wenn du da nicht genau weißt was du tust machst du nur mehr kaputt als du ahnst.
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Schau dir mal den generellen Aufbau eines Template-Systems an. http://www.drweb.de/webmaster/html-temp ... teme.shtml

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Jens G.
Mitglied
Beiträge: 31
Registriert: 05.03.2008 23:34

Beitrag von Jens G. »

Danke euch, das hat mich schonmal einen grossen Schritt weiter gebracht.


Wo muss ich was deklarieren, wenn ich ein neue Seite hinzufügen möchte?

- NeueSeite.tpl erstellen und hochladen (klar)

- NeueSeite.php erstellen, in der ich mit folgendem Befehl das Template aufrufe:
$tpl ->display('NeueSeite.tpl');

- Im overall_header.tpl einen Button für die neue Seite einfügen.
Hier beginnt mein Problem:
Wo deklariere ich eine Variable, die auf NeueSeite.php verweist, sodass ich im overall_header.tpl nur die Vatiable angeben muss?

- Was muss ich noch machen?
Benutzeravatar
darkon
Mitglied
Beiträge: 1133
Registriert: 08.08.2003 15:07
Wohnort: Wölfersheim

Beitrag von darkon »

Guck doch mal ganz oben auf dieser Seite. Da sind unterhalb des Werbebanners vier Reiter, und der vierte dieser Reiter trägt die Aufschrift "Dokumentation".
Hast dort schon einmal nachgeschaut?
Jens G.
Mitglied
Beiträge: 31
Registriert: 05.03.2008 23:34

Beitrag von Jens G. »

Ja, da habe ich geguckt und da kann ich mir das Zeug auch gleich selbst zusammenreimen. Bis ich denn in der unendlich grossen Doku das finde, was ich brauche, bin ich auch in zwei Jahren selbst drauf gekommen. :lol:

Kannst du mir nicht einen Tipp geben und gut ist? Warum muss ich tausende Seiten Doku durchackern, wenn du als Wissender mir zwei-drei Sätze schreiben könntest, um mich auf den richtigen Weg zu weisen?
Jens G.
Mitglied
Beiträge: 31
Registriert: 05.03.2008 23:34

Beitrag von Jens G. »

Jens G. hat geschrieben:Danke euch, das hat mich schonmal einen grossen Schritt weiter gebracht.


Wo muss ich was deklarieren, wenn ich ein neue Seite hinzufügen möchte?

- NeueSeite.tpl erstellen und hochladen (klar)

- NeueSeite.php erstellen, in der ich mit folgendem Befehl das Template aufrufe:
$tpl ->display('NeueSeite.tpl');

- Im overall_header.tpl einen Button für die neue Seite einfügen.
Hier beginnt mein Problem:
Wo deklariere ich eine Variable, die auf NeueSeite.php verweist, sodass ich im overall_header.tpl nur die Vatiable angeben muss?

- Was muss ich noch machen?

Ich habe ja schonweider was gefunden:

Ich habe also die NeueSeite.tpl und NeueSeite.php

Im page_header.php kann ich doch dann folgendes schreiben:

Code: Alles auswählen

U_NeueSeite => append_sid('NeueSeite.'.$phpEX),

L_NeueSeite => $lang['NeueSeite'],
Dann könnte ich doch in der lang_main.php folgendes schreiben:

Code: Alles auswählen

$lang['NeueSeite'] = 'NeueSeiteAufDeutsch';
Somit sollte ich die neue Seite doch im overall_header.tpl wie folgt aufrufen können:

Code: Alles auswählen

<a href="{U_NeueSeite}"><img src="templates/fiapple/images/{LANG}top_bar_NeueSeite.gif">
Oder nicht?
Zuletzt geändert von Jens G. am 11.03.2008 16:44, insgesamt 1-mal geändert.
Jens G.
Mitglied
Beiträge: 31
Registriert: 05.03.2008 23:34

Beitrag von Jens G. »

Ist das richtig?
Jens G.
Mitglied
Beiträge: 31
Registriert: 05.03.2008 23:34

Beitrag von Jens G. »

Also das hat so funktioniert und ich bin einen grossen Schritt weiter gekommen.

Ich habe nun aber trotzdem noch ein Problem und hoffe, dass ihr mir nochmal helfen könnt.

Unten im WhoIsOnline werden ja immer die User angezeigt, die aktuell online sind. Admins, Mods und User werden farblich unterscheiden.
In der Legende dazu stehen aber nur "Administrator" und "Moderator". Hier möchte ich noch "Benutzer" in der entsprechenden Farbe einfügen.
Der Code sieht wie folgt dafür aus:

index_body.tpl:

Code: Alles auswählen

<td class="row1"><span class="gensmall">{TOTAL_USERS_ONLINE} &nbsp; [ <strong>{L_WHOSONLINE_ADMIN}</strong>
] &nbsp; [ <strong>{L_WHOSONLINE_MOD}</strong> ] <br />
Und so soll er aussehen:

Code: Alles auswählen

<td class="row1"><span class="gensmall">{TOTAL_USERS_ONLINE} &nbsp; [ <strong>{L_WHOSONLINE_ADMIN}</strong>
] &nbsp; [ <strong>{L_WHOSONLINE_MOD}</strong> ] &nbsp;  [ {L_WHOSONLINE_USER} ] <br />

{L_WHOSONLINE_USER} ist somit zu deklarieren.
Das habe ich wie folgt gemacht:

page_header.php:

Code: Alles auswählen

'L_WHOSONLINE_ADMIN' => sprintf($lang['Admin_online_color'], '<span style="color:#' . $theme['fontcolor3'] . '">', '</span>'),
'L_WHOSONLINE_MOD' => sprintf($lang['Mod_online_color'], '<span style="color:#' . $theme['fontcolor2'] . '">', '</span>'),
'L_WHOSONLINE_USER' => sprintf($lang['User_online_color'], '<span style="color:#' . $theme['fontcolor4'] . '">', '</span>'),

'User_online_color' habe ich wie folgt deklariert:

lang_main.php:

Code: Alles auswählen

$lang['Admin_online_color'] = '%sAdministrator%s';
$lang['Mod_online_color'] = '%sModerator%s';
$lang['User_online_color'] = '%sBenutzer%s';

Auch 'fontcolor4' habe ich deklariert und hier ist mein Problem.
Den einzigen Eintrag, den ich gefunden habe ist in der

theme_info.cfg:

Code: Alles auswählen

$fiapple[0]['fontcolor1'] = "";
$fiapple[0]['fontcolor2'] = "006600";
$fiapple[0]['fontcolor3'] = "ff0000";
$fiapple[0]['fontcolor4'] = "5c81b1";
Leider wird die Farbe trotz alle dem nicht angezeigt.

Was habe ich falsch gemacht?
Jens G.
Mitglied
Beiträge: 31
Registriert: 05.03.2008 23:34

Beitrag von Jens G. »

Kann den niemand einen Tipp abgeben?
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“