Seite 1 von 1
Variable AGREEMENT
Verfasst: 12.04.2005 16:47
von ypoons
Hallo,
ich möchte den Registrierungstext für mein Board ändern. Der müsste ja im Platzhalter {AGREEMENT} stehen. Nur in welche Datei finde ich diese Variable?
Zusatzfrage:
Der Footer (overall_footer.tpl) soll auf allen Seiten erscheinen, nur nicht auf der Seite mit dem Registrierungstext. Wie kann ich denn das ändern?
Dankbar für jede Unterstützung,
Bernd
Verfasst: 12.04.2005 16:51
von mad-manne
languages/lang_xxx/lang_main.php und dort den String in $lang['Reg_agreement'] ändern.
ACHTUNG:
Der ganze Text muss auf einer Zeile bleiben! Gewünschte Zeilenumbrüche müssen als <br /> eingefügt werden. Apostrophe müssen mittels Backslash "escaped" werden. Also nicht Der kann's schreiben sondern Der kann\'s
Gruss,
Manne.
Verfasst: 12.04.2005 16:59
von punkface
Zusatzfrage:
Der Footer (overall_footer.tpl) soll auf allen Seiten erscheinen, nur nicht auf der Seite mit dem Registrierungstext. Wie kann ich denn das ändern?
Versuch mal folgendes:
page_tail.php
suche
Code: Alles auswählen
//
// Show the overall footer.
//
$admin_link = ( $userdata['user_level'] == ADMIN ) ? '<a href="admin/index.' . $phpEx . '?sid=' . $userdata['session_id'] . '">' . $lang['Admin_panel'] . '</a><br /><br />' : '';
$template->set_filenames(array(
'overall_footer' => ( empty($gen_simple_header) ) ? 'overall_footer.tpl' : 'simple_footer.tpl')
);
$template->assign_vars(array(
'TRANSLATION_INFO' => ( isset($lang['TRANSLATION_INFO']) ) ? $lang['TRANSLATION_INFO'] : '',
'ADMIN_LINK' => $admin_link)
);
$template->pparse('overall_footer');
davor das hier einfügen
und nach dem eben gefunden Code das hier einfügen
usercp_register.php
suche
Code: Alles auswählen
global $userdata, $template, $lang, $phpbb_root_path, $phpEx;
danach einfügen
Verfasst: 12.04.2005 17:09
von ypoons
Hallo Manne,
die $lang['Reg_agreement'] habe ich geändert, der neue Text erscheint aber nicht online. In meiner agreement.tpl gibt es den Platzhalter {AGREEMENT}, daher bin ich davon ausgegangen, dass ich diese Variable ändern muss. In der lang_main.php ist sie aber nicht vorhanden.
@punkface:
Danke, ich probier das morgen aus.
Bernd
Verfasst: 13.04.2005 10:18
von mad-manne
ypoons hat geschrieben:die $lang['Reg_agreement'] habe ich geändert, der neue Text erscheint aber nicht online. In meiner agreement.tpl gibt es den Platzhalter {AGREEMENT}, daher bin ich davon ausgegangen, dass ich diese Variable ändern muss. In der lang_main.php ist sie aber nicht vorhanden.
Wie, was, häh .. was denn nun
Also erstmal ein kleiner Exkurs über die "Sprachunabhängigkeit" von phpBB, sowie die Funktionsweise der phpBB-Template-Engine:- Die Definitonen für (fast)alle Sprachausgaben der Software verteilen sich auf folgende Dateien im jeweiligen language/lang_xxx-Ordner:
- lang_admin.php = Sprachausgabe im ACP
- lang_bbcode.php = Hilfeseite zur Nutzung von BBCode
- lang_faq.php = Die Faq-Seite
- lang_main.php = Alles was überall im Board benötigt wird
- Die Skripte nutzen die Texte der lang_admin.php und lang_main.php über das Array $lang, welches mit "sinnvollen" Titeln indiziert ist.
Hier einige einfache Beispiele:- $lang['Yes'] = 'Ja';
- $lang['No'] = 'Nein';
- $lang['Enabled'] = 'Aktiviert';
- $lang['Disabled'] = 'Deaktiviert';
- $lang['Error'] = 'Fehler';
- Jetzt kommt die Template-Engine ins Spiel ... Um also z.B. die Seite mit dem Registrierung-Text zu erstellen werden im Skript includes/usercp_register.php unter anderem folgende Template-Variablen zugewiesen
Code: Alles auswählen
$template->assign_vars(array(
'REGISTRATION' => $lang['Registration'],
'AGREEMENT' => $lang['Reg_agreement'],
"AGREE_OVER_13" => $lang['Agree_over_13'],
"AGREE_UNDER_13" => $lang['Agree_under_13'],
'DO_NOT_AGREE' => $lang['Agree_not'],
"U_AGREE_OVER13" => append_sid("profile.$phpEx?mode=register&agreed=true"),
"U_AGREE_UNDER13" => append_sid("profile.$phpEx?mode=register&agreed=true&coppa=true"))
);
- Diese Variablen(AGREEMENT, DO_NOT_AGREE) tauchen dann in der template-Datei templates/subSilver/agreement.tpl in dieser Form auf
- {AGREEMENT}
- {DO_NOT_AGREE}
- Im letzten Schritt wird dann die Template-Datei von der Template-Engine "geparst", wobei dann die in den geschweiften Klammern vorkommenden Variablen durch die zuvor in den Skripten zugewiesenen Werte ersetzt werden!
Für deinen konkreten Fall bedeutet das:
Du musst die Variable
{AGREEMENT} wieder genauso wie sie vorher war, in die
templates/subSilver/agreement.tpl einsetzen, und dann die Zuweisung für den zu ändernden Text in der
language/lang_xxx/lang_main.php in der folgenden Zeile editieren:
Code: Alles auswählen
$lang['Reg_agreement'] = 'Die Administratoren und Moderatoren dieses Forums ...';
Dabei bitte die
weiter oben genannten Tipps beherzigen!
Viel Erfolg
Manne
Verfasst: 13.04.2005 11:44
von ypoons
Ja, OK. Vielen Dank, Manne. Ich glaube, ich hab's jetzt einigermaßen begriffen.
Allerdings sind die Eintragungen soweit richtig, der geänderte Wert der Variablen $lang['Reg_agreement'] wird trotzdem nicht online angezeigt.
Ich verwende allerdings das Template fisubtext statt subsilver. Könnte es daran liegen? Muss ich da auch noch Einstellungen überprüfen?
Bernd
Verfasst: 13.04.2005 11:47
von mad-manne
ypoons hat geschrieben:Ja, OK. Vielen Dank, Manne. Ich glaube, ich hab's jetzt einigermaßen begriffen.
Bist du sicher
Bitte beschreibe doch mal
genau, was du wo gemacht hast.
Evtl.
verlinkst du ja auch mal deine lang_main.php und die agreement.tpl aus dem fisubtext-template Ordner!
Gruss,
Manne.
Verfasst: 13.04.2005 15:58
von ypoons

Nein, bin nich sicher, ich geb's ja zu.
Also die Eintragungen in der lang_main.php
http://www.vr-media-online.de/vr-networ ... g_main.txt
und der agreement.tpl
http://www.vr-media-online.de/vr-networ ... eement.tpl
sind m. M. richtig, wir haben uns das zu zweit angesehen.
Verfasst: 14.04.2005 11:00
von mad-manne
Ist denn Deutsch(Sie) auch die Standardsprache vom Board?
Oder evtl. doch das "normale" Deutsch? Dann musst du die entsprechende lang_main.php auch dort anpassen.
Ausserdem würde ich empfehlen, mal die originale subSilver-agreement.tpl zu studieren ...
Und last but not least: Der Terminus für die $lang['Agree_over_13'] sollte nicht verneint sein. Ihr müsst gegnüber einer vanilla-Sprachdatei nur den Kram mit "über oder genau 12 Jahre alt" rausnehmen und dann in der agreement.tpl diesen Teil rausnehmen:
Code: Alles auswählen
<br /><a href="{U_AGREE_UNDER13}" class="genmed">{AGREE_UNDER_13}</a><br />
Gruss,
Manne.
Verfasst: 14.04.2005 11:12
von ypoons
Hi Manne,
danke, du hast mir den entscheidenden Tipp gegeben. Habe die Standardsprache geändert, jetzt wird der Text korrekt angezeit.
Super, vielen Dank!
Grüße, Bernd