Vorlage für in phpBB eingebundene Seiten in phpBB3

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
picomint
Mitglied
Beiträge: 13
Registriert: 08.11.2009 00:32

Re: Vorlage für in phpBB eingebundene Seiten in phpBB3

Beitrag von picomint »

Das erstellen einer neuen Seite nach der Vorlage funktioniert prima.

Leider schaffe ich es nicht den in der eigenen Sprachdatei definierten Namen für die neue Seite, in overall_header.html oder overall_footer.html, als Beschriftung für den Link zur neuen Seite zu benutzen.

/language/de/mods/meine_sprach_datei.php

Code: Alles auswählen

$lang = array_merge($lang, array(
    'NEUESEITE'    => 'Meine Seite',
));
include/functions.php

Code: Alles auswählen

$template->assign_vars(array(
    'U_NEUESEITE'				=> append_sid("{$phpbb_root_path}neueseite.$phpEx"),
styles/prosilver/template/overall_footer.html

Code: Alles auswählen

<a href="{U_NEUESEITE}">{L_NEUESEITE}</a>
Der Aufruf der neuen Seite über {U_NEUESEITE} funktioniert, nur außerhalb von neueseite.php wird anstatt 'Meine Seite' nur '{ NEUESEITE }' angezeigt, d. h. {L_NEUESEITE} ist unbekannt bzw. wird nicht gefunden.

Wie/wo muss man die eigene Sprachdatei zusätzlich einbinden, damit sie in overall_header/overall_footer zur Verfügung steht?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Vorlage für in phpBB eingebundene Seiten in phpBB3

Beitrag von Miriam »

Deine selbstgebaute Seite lädt die von Dir erstellten Sparchvariablen hier:

Code: Alles auswählen

$user->add_lang('mods/meine_sprach_datei'); // Sprachvariablen aus eigener Sprach Datei laden  
Die anderen Seiten machen das nicht, daher kann der Platzhalter auch nicht "gefüllt" werden.
Wenn Du z.B. einen Link im Header der Seite haben möchtest, kannst Du es so bewerkstelligen, wie Du es gemacht hast und alle Dateien kennen diese Verlinkungs-Variable. Allg. Sprachvariablen solltest Du in der \language\<deine_sprache>\common.php definieren.
Zuletzt geändert von nickvergessen am 30.05.2012 14:37, insgesamt 1-mal geändert.
Grund: Sollte $user->add_lang() sein, nicht $user->setup()
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
Unimatrix_0
Mitglied
Beiträge: 392
Registriert: 03.11.2007 10:50
Kontaktdaten:

Re: Vorlage für in phpBB eingebundene Seiten in phpBB3

Beitrag von Unimatrix_0 »

Miriam hat geschrieben: Allg. Sprachvariablen solltest Du in der \language\<deine_sprache>\common.php definieren.
Oder wie da » viewtopic.php?p=1138431#p1138431 « beschrieben in der includes/functions.php deine Sprachdatei laden und sie somit global im Forum zugänglich machen
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Vorlage für in phpBB eingebundene Seiten in phpBB3

Beitrag von Pyramide »

Unimatrix_0 hat geschrieben:Oder wie da » viewtopic.php?p=1138431#p1138431 « beschrieben in der includes/functions.php deine Sprachdatei laden und sie somit global im Forum zugänglich machen
Diese Variante hat übrigens den Vorteil, dass du beim Update der Sprachdateien einfach die neue Version drüber kopieren kannst (sofern du nicht das deutsche Updatepaket nutzt).
KB:knigge
Benutzeravatar
picomint
Mitglied
Beiträge: 13
Registriert: 08.11.2009 00:32

Re: Vorlage für in phpBB eingebundene Seiten in phpBB3

Beitrag von picomint »

Vielen Dank für eure Hilfe. Ich hatte unglaublich viel Zeit damit verbracht eine elegante Lösung zu finden, um den Text nicht redundant ablegen zu müssen, sondern nur an einer Stelle (der jeweiligen Sprachdatei zur Mod) definieren zu können.

Die Lösung, die Sprachdatei in der includes/functions.php aufzunehmen ist so elegant und sie funktioniert. Es reicht aus $user->add_lang('mods/meine_sprach_datei'); zu ergänzen, dann wird {L_NEUESEITE} global bekannt.

includes/functions.php
finde:

Code: Alles auswählen

// Send a proper content-language to the output
danach einfügen:

Code: Alles auswählen

$user->add_lang('mods/meine_sprach_datei');
Danke! :)
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“