Buttons nach Landessprache

Alles zu Styles, Templates, Icons und Smilies für phpBB 2.0, sowie allgemeine Designfragen zur Integration von phpBB in bestehende Websites.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Firestarter
Mitglied
Beiträge: 1162
Registriert: 09.06.2003 15:21

Beitrag von Firestarter »

mad-manne hat geschrieben:
  • Wo genau soll der neue Button hin
    am besten den Codeabschnitt aus der entsprechenden TPL-Datei hier in CODE-Tags posten und dort wo er hin soll schreibst {MEIN_BUTTON}
=> ich möchte alle Headerlinks (Standard von phpBB) anstelle von Icon plus Text durch ein Images ersetzen, welche dann je nach Sprachausgabe dem User entsprechend in seiner Sprache ausgegeben wird (sprich : German, english etc.)

Dabei handelt es sich um diesen Abschnitt aus der overall_header.tpl :

Code: Alles auswählen

<table cellspacing="0" cellpadding="2" border="0">
					<tr>
						<td align="center" valign="top" nowrap="nowrap"><span class="mainmenu">&nbsp;<a href="{U_FAQ}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_faq.gif" width="12" height="13" border="0" alt="{L_FAQ}" hspace="3" />{L_FAQ}</a></span><span class="mainmenu">&nbsp; &nbsp;<a href="{U_SEARCH}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_search.gif" width="12" height="13" border="0" alt="{L_SEARCH}" hspace="3" />{L_SEARCH}</a>&nbsp; &nbsp;<a href="{U_MEMBERLIST}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_members.gif" width="12" height="13" border="0" alt="{L_MEMBERLIST}" hspace="3" />{L_MEMBERLIST}</a>&nbsp; &nbsp;<a href="{U_GROUP_CP}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_groups.gif" width="12" height="13" border="0" alt="{L_USERGROUPS}" hspace="3" />{L_USERGROUPS}</a>&nbsp;
						<!-- BEGIN switch_user_logged_out -->
						&nbsp;<a href="{U_REGISTER}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_register.gif" width="12" height="13" border="0" alt="{L_REGISTER}" hspace="3" />{L_REGISTER}</a></span>&nbsp;
						<!-- END switch_user_logged_out -->
						</td>
					</tr>
					<tr>
						<td height="25" align="center" valign="top" nowrap="nowrap"><span class="mainmenu">&nbsp;<a href="{U_PROFILE}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" />{L_PROFILE}</a>&nbsp; &nbsp;<a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3" />{PRIVATE_MESSAGE_INFO}</a>&nbsp; &nbsp;<a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" hspace="3" />{L_LOGIN_LOGOUT}</a>&nbsp;</span></td>
					</tr>
				</table>

mad-manne hat geschrieben:[*]Was soll der Button können
Also wohin führt der Link von diesem Button
Siehe oben. Der Button muss eine sprachbezogende Ausgabe besitzen und die Standard-Headerlinks beinhalten.

mad-manne hat geschrieben:[*]wie heisst der Button, also die Grafik-Datei und soll dieser Button einen ALT/TITLE-Text haben, der das bekannt Bubble_Help bei mouse-over anzeigt?[/list]
Als Beispiel würde mir der Weg von Headerlink "{U_PROFILE}" oder ganz neuer Begriff "Report" reichen. Eine Anleitung mit ALT/TITLE-Text, das wäre das Optimale für die Veränderung im Headerbereich!
MfG
Firestarter
Auch ich versuche mein Glück und möchte ein schönes Forum haben, dafür muss ich wohl erstmal leiden. *fg*
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

Firestarter hat geschrieben:Als Beispiel würde mir der Weg von Headerlink "{U_PROFILE}" oder ganz neuer Begriff "Report" reichen.
Seo eine Formulierung mit "... der Weg von ..." hast du glaube ich schonmal weiter oben benutzt .. was soll das bedeuten?

Aber die grosse Marschrichtung habe ich verstanden!
Was du allerdings mit REPORT meinst ist mir auch nicht klar. Ist das ein MOD aus deinem Board?

Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Benutzeravatar
Firestarter
Mitglied
Beiträge: 1162
Registriert: 09.06.2003 15:21

Beitrag von Firestarter »

mad-manne hat geschrieben:
Firestarter hat geschrieben:Als Beispiel würde mir der Weg von Headerlink "{U_PROFILE}" oder ganz neuer Begriff "Report" reichen.
Seo eine Formulierung mit "... der Weg von ..." hast du glaube ich schonmal weiter oben benutzt .. was soll das bedeuten?
Mit der Beschreibung "der Weg von" meine ich halt nur eine Installanleitung wie öffne Datei x und füge an Stelle y folgende Zeile xy hinzu. Sowas halt, damit ich vernünftig verstehe wie es geht (und für alle anderen User mit den gleichen Problem).
mad-manne hat geschrieben:Was du allerdings mit REPORT meinst ist mir auch nicht klar. Ist das ein MOD aus deinem Board?
Jepp, den Mod "Reporter Posts" hab ich im Forum eingebaut, aber ich möchte halt ein Style nach meinen Vorstellungen erstellen und mich nervt bei subsilver halt immer, dass man Icongrösse und Schriftgrösse beachten muss, bei meiner Idee muss ich nur auf die Imagesgrösse achten, eine Erleichterung!
Die Profilicons wurde ja auch in diesem Stil gemacht (phpBBStandard), warum man bei den Headerlinks einen anderen Weg gegangen ist verstehe ich leider überhaupt nicht.
MfG
Firestarter
Auch ich versuche mein Glück und möchte ein schönes Forum haben, dafür muss ich wohl erstmal leiden. *fg*
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

also .. ich werde heute gegen später mal versuchen da was für dich zusammenzuschreiben!

Nochmal zum rekapitulieren:
du hast jetzt also Buttons für FAQ, Suchen, Mitgliederliste, Benutzergruppen, Profil, Private Nachrichten, Login/Logout, etc.?

Und davon hast du mehrere Sprachversionen und die liegen jeweils in einem eigenen Ordner vor und haben jeweils die gleichen Namen wie z.B.: mymenu_faq.gif, mymenu_search.gif, mymenu_userlist.gif, etc?

Ansonsten bis später,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Benutzeravatar
Firestarter
Mitglied
Beiträge: 1162
Registriert: 09.06.2003 15:21

Beitrag von Firestarter »

jepp, so kann man es sagen, die Buttons haben die gleichen Namen und liegen bereits immer unter templatesname/images/lang_xxx !
MfG
Firestarter
Auch ich versuche mein Glück und möchte ein schönes Forum haben, dafür muss ich wohl erstmal leiden. *fg*
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

Nun denn, dann wollen wir mal :P
nur zur Erinnerung: vorher Backups aller beteiligten Dateien erstellen!

Im ersten Teil werde ich erstmal anhand der Buttons für FAQ und SEARCH erklären, wie das geht. Im zweiten Teil kommen wir dann zu den kontextabhängigen Buttons, also MAIL(leere MB und MB mit mind. 1 PN) und LOGIN/LOGOUT.

Teil I
Ich würde vorschlagen, dass alle Menubuttons Dateinamen nach folgendem Schema bekommen:
  • menu_faq.gif
  • menu_search.gif
  • u.s.w. ...
Wie schon zuvor erwähnt(und bei dir ja bereits geschehen) kommen dann die Buttons für jede Sprache in den passenden Ordner templates/DEIN_TEMPLATE/images/lang_xxxx/

Nun bearbeiten wir die erste phpBB-Datei ...

Code: Alles auswählen

ÖFFNE:
templates/DEIN_TEMPLATE/DEIN_TEMPLATE.cfg

SUCHE:
$current_template_images = $current_template_path . "/images";

DAHINTER, FÜGE EIN:
//Menu-Buttons
$images['menu_faq'] = "$current_template_images/{LANG}/menu_faq.gif";
$images['menu_search'] = "$current_template_images/{LANG}/menu_search.gif";
... und so weiter für alle MENU-Buttons
:oops: ACHTUNG Falle :oops: Beim Speichern dieser Datei musst du peinlichst genau darauf achten, dass die Gross- und Kleinschreibung genauso wie beim Ordnernamen des jeweilgen Templates gehalten ist.
Also bei subSilver z.B. muss die Datei so heissen: subSilver.cfg!


und weiter geht's mit der zweiten Datei:

Code: Alles auswählen

ÖFFNE:
includes/page_header.php

SUCHE:
	'PRIVATE_MESSAGE_NEW_FLAG' => $s_privmsg_new,

DAHINTER, FÜGE EIN:
	//Language-specific menu-buttons
	'MENU_FAQ_IMG' => $images['menu_faq'],
	'MENU_SEARCH_IMG' => $images['menu_search'],
	... und so weiter für alle MENU-Buttons
und schon haben wir alles soweit vorbereitet, dass wir die Buttons in den template einbauen können :wink:


Dazu öffnest du jeweils die templates/DEIN_TEMPLATE/overall_header.tpl und suchst zunächst für den FAQ-Button sowas wie das hier:

Code: Alles auswählen

<a href="{U_FAQ}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_faq.gif" width="12" height="13" border="0" alt="{L_FAQ}" hspace="3" />{L_FAQ}</a>
Diesen Block, der bei anderen Templates durchaus leicht verändert aussehen kann, müssen wir nun gegen unsere Version ersetzen. Doch langsam ... das schauen wir uns nochmal genauer an!

Also ... zerlegen wir dieses kleine "Monster" doch mal, damit du auch verstehst, was wir hier ändern werden.

Code: Alles auswählen

<a href="{U_FAQ}" class="mainmenu">
Hier wird der Link zur faq.php geöffnet, im Ausdruck {U_FAQ} ist der passende Aufruf enthalten, der dann von der Template-Engine beim Parsen ausgegeben wird.

Code: Alles auswählen

<img src="templates/subSilver/images/icon_mini_faq.gif" width="12" height="13" border="0" alt="{L_FAQ}" hspace="3" />
Hier ist wie man sieht, nix dynamisch, da der Link zum Bild direkt im Quelltext steht! Deshalb müssen wir dafür sorgen, dass da jetzt immer das Bild der aktuellen Sprache erscheint. Dies haben wir vorher in der includes/page_header.php bereits als {MENU_FAQ_IMG} definiert. Was wir bereits aus unserem "normalen" phpBB haben, ist der sprachabhängige Text in {L_FAQ}, der sowohl als ALT-tag fürs Bild taugt, als auch ein wenig später nochmal auftaucht ...

Code: Alles auswählen

{L_FAQ}</a>
Hier wird der Link geschlossen wobei zwischen den anchor-TAGs
noch der Text steht, den du ja entfernen willst!

So lange Rede gar kein Sinn, hier kommt der Code, den du brauchst:

Code: Alles auswählen

<a href="{U_FAQ}" class="mainmenu"><img src="{MENU_FAQ_IMG}" border="0" alt="{L_FAQ}" title="{L_FAQ}" hspace="3" /></a>
Beachte z.B., dass hier auch ein title-TAG hinzugefügt wurde, der ebenfalls den sprachabhängigen Text aus {L_FAQ} enthält. Dies sollte dafür sorgen, dass auch bei FF, Mozilla & Co. ein "Bubble-Help" mit eben diesem Text auftaucht, wenn man mit der Maus über den Button fährt!

So das war's erstmal für jetzt ... aber noch haben wir ein wenig Arbeit vor uns! Mehr dazu im 2. Teil, der in Kürze folgt.

Viel Erfolg,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

... leider habe ich heute dann unerwartet einige RealLive-Aufgaben reinbekommen.

Den 2.Teil konnte ich deshalb heute nicht mehr fertigstellen. Bin nun arbeitstechnisch bis einschliesslich Do. nächste Woche unterwegs und ohne Netz oder Zeit dafür :-?
Entweder du findest den Rest selbst heraus, wartest bis nächsten Do. oder evtl. steigt ja ein anderer Crack (markus67 :roll:) hier ein und erklärt den Rest ...

Viel Spaß erstmal mit dem 1.Teil und bis demnäx,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Benutzeravatar
Firestarter
Mitglied
Beiträge: 1162
Registriert: 09.06.2003 15:21

Beitrag von Firestarter »

Wow, super cool, big THX und null problemo wegen dem späteren zweiten Teil, ich hab ja noch etwas Zeit (hatte selbst übers lange Wochende kein Internet), mit dem ersten Teil kann ich ja schon mal üben.
MfG
Firestarter
Auch ich versuche mein Glück und möchte ein schönes Forum haben, dafür muss ich wohl erstmal leiden. *fg*
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag von Mungo »

Du könntest dir mal folgendes Paket runterladen:
http://phpbb.mungo.org/styles/JediKnigh ... german.zip

Da ist eine modifizierte Template.cfg (also in dem Fall die JediKnights2.cfg) und eine overall_header.tpl enthalten.

In der cfg-Datei ist eigentlich nur folgendes zusätzlich enthalten:

Code: Alles auswählen

$current_template_lang_images = ( file_exists(@phpbb_realpath($phpbb_root_path . $current_template_path . '/images/lang_' . $board_config['default_lang'])) ) ? $current_template_path . '/images/lang_' . $board_config['default_lang'] : $current_template_path . '/images/lang_' . 'english';

// custom template variables
$template->assign_vars(array(
	'NAV_LOGIN' => $current_template_lang_images . "/nav_login.gif",
	'NAV_SEARCH_OVER' => $current_template_lang_images . "/nav_search_f2.gif")
);
?>
Du kannst jetzt den Code in deine Template.cfg einfügen (am Ende) und die Templatevariablen und die Dateinamen ersetzen.
Du willst z.B. die Datei "bild.gif" (liegt im Ordner /templates/deinTemplate/images/lang_xxx/) als Button in deiner Templatedatei:
Statt

Code: Alles auswählen

'NAV_LOGIN' => $current_template_lang_images . "/nav_login.gif",
heißt es nun

Code: Alles auswählen

'BILDVAR' => $current_template_lang_images . "/bild.gif",
Jetzt kannst du z.B. in der overall_header.tpl für den Pfad zum Bild einfach {BILDVAR} einsetzen.
Also z.B.:

Code: Alles auswählen

<img src="{BILDVAR}" name="bild" border="0" alt="Bild" />
Vorteil: Du änderst nur etwas an deinem Template.
Benutzeravatar
Firestarter
Mitglied
Beiträge: 1162
Registriert: 09.06.2003 15:21

Beitrag von Firestarter »

das wäre natürlich am besten, ich werde es mir genauer anschauen, vielen Dank für den Hinweis.

Eine Frage hab ich aber nun erstmal noch ganz kurz :

$current_template_path . '/images/lang_' . 'english'

Am Ende von der Codezeile :

Code: Alles auswählen

$current_template_lang_images = ( file_exists(@phpbb_realpath($phpbb_root_path . $current_template_path . '/images/lang_' . $board_config['default_lang'])) ) ? $current_template_path . '/images/lang_' . $board_config['default_lang'] : $current_template_path . '/images/lang_' . 'english';
bedeutet doch sicherlich, das alle nicht eingeloggten User die englischen Buttons sehen, oder ???
MfG
Firestarter
Auch ich versuche mein Glück und möchte ein schönes Forum haben, dafür muss ich wohl erstmal leiden. *fg*
Antworten

Zurück zu „phpBB 2.0: Styles, Templates und Grafiken“