Variable AGREEMENT

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.
Antworten
ypoons
Mitglied
Beiträge: 58
Registriert: 02.03.2005 12:04

Variable AGREEMENT

Beitrag 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
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag 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.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Benutzeravatar
punkface
Mitglied
Beiträge: 3579
Registriert: 12.08.2004 23:37

Beitrag 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

Code: Alles auswählen

if( !defined('IN_REGISTER')  )
{ 
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

Code: Alles auswählen

  define('IN_REGISTER', true);
ypoons
Mitglied
Beiträge: 58
Registriert: 02.03.2005 12:04

Beitrag 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
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag 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 :o

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 :wink:
Manne
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
ypoons
Mitglied
Beiträge: 58
Registriert: 02.03.2005 12:04

Beitrag 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
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

ypoons hat geschrieben:Ja, OK. Vielen Dank, Manne. Ich glaube, ich hab's jetzt einigermaßen begriffen.
Bist du sicher :roll:

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.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
ypoons
Mitglied
Beiträge: 58
Registriert: 02.03.2005 12:04

Beitrag von ypoons »

:grin: 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.
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag 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.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
ypoons
Mitglied
Beiträge: 58
Registriert: 02.03.2005 12:04

Beitrag 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
Antworten

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