Seite 1 von 2

Grundsätzliche Stuktur der Programmierung unklar

Verfasst: 11.03.2008 06:52
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? :(

Verfasst: 11.03.2008 10:29
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.

Verfasst: 11.03.2008 10:41
von PhilippK
Schau dir mal den generellen Aufbau eines Template-Systems an. http://www.drweb.de/webmaster/html-temp ... teme.shtml

Gruß, Philipp

Verfasst: 11.03.2008 12:17
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?

Verfasst: 11.03.2008 12:43
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?

Verfasst: 11.03.2008 13:12
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?

Verfasst: 11.03.2008 13:20
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?

Verfasst: 11.03.2008 16:40
von Jens G.
Ist das richtig?

Verfasst: 11.03.2008 21:42
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?

Verfasst: 13.03.2008 07:41
von Jens G.
Kann den niemand einen Tipp abgeben?