Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
02.11.2009, 21:43
(Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2009, 23:42 von Jockl.)
Hallo zusammen,
bei der Anpassung eines Plugins bin ich auf ein kleines Problem gestoßen. Mit folgender Zeile
PHP-Code:
find_replace_templatesets('usercp_nav_misc', '#</tbody>#', '<tr><td class="trow1 smalltext">
<a href="plugindatei.php" class="usercp_nav_item usercp_nav_editlists">
' . $lang->plugindatei_lang . '</a></td></tr></tbody>');
sollte aus der entsprechenden lang-Datei die Variable geholt werden. Obwohl alle Dateien entsprechend von mir übersetzt wurden, holt sich das entsprechende Template aber immer die Variable aus der englischen Version der lang-Datei.
Liegt hier der Fehler ggf. in der o.a. Zeile? Ich kapier das gerade nicht.
Wäre klasse, wenn mir jemand weiterhelfen könnte.
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Es kann sein, dass ACP andere Sprachdateien geladen werden. Die Zeile müsste korrekt sein. Ohne den Code, der die Sprachdatei lädt, kann ich aber nicht viel sagen.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
03.11.2009, 20:19
(Dieser Beitrag wurde zuletzt bearbeitet: 03.11.2009, 22:57 von Jockl.)
Hallo Stefan,
also im ACP kann ich alle Sprachdateien, die für das Plugin erstellt wurden, finden.
In der Plugin-Datei sind in der Funktion, in der die Templates geändert werden, folgende Zeilen vorhanden:
PHP-Code:
global $mybb, $db, $lang;
$lang->load('my_fav_post');
Während der Installation wird übrigens noch ein anderes Template geändert, in dem auch Bezug auf das lang-File genommen wird. Hier funktioniert es und es wird Deutsch herangezogen.
Nachtrag:
wenn ich in dem o.a. find_replace_templatesets "$lang->ucp_meinText" eingebe und den zugehörigen Eintrag in der usercpnav.lang.php eintrage, dann funkioniert es. Aber es muss doch auch anders gehen, oder? Wo ist denn da mein Knoten?
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
In welchem Ordner liegt die Sprachdatei? Es können nur Dateien im admin-Ordner des ACPs geladen werden.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
(04.11.2009, 16:06)StefanT schrieb: In welchem Ordner liegt die Sprachdatei?
Die lang-Files liegen unter inc/languages/deutsch_du bzw. in den Ordnern der anderen Sprachen.
(04.11.2009, 16:06)StefanT schrieb: Es können nur Dateien im admin-Ordner des ACPs geladen werden.
das kapiere ich jetzt leider nicht. Was meinst Du damit?
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Die Datei muss im Ordner inc/languages/*Sprache*/admin liegen, da die Datei ja auch im ACP geladen wird.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Bin ehrlich gesagt gerade ein wenig verwirrt. 'schuldigung
Warum fragst Du eigentlich nach dem ACP? Es handelt sich um eine fehlerhafte Ausgabe der language-Variablen im Benutzer-CP und dort im Template
usercp_nav_misc.
Nicht, dass wir aneinander vorbei reden/schreiben....
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Wenn du Variable beim Aktiveren des Plugins benutzt, dann gilt meine Aussage. Wenn du die Variable im Template haben willst, musst du sie escapen.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Ok, dann werde ich das mal versuchen. Eine entsprechende lang-Datei in das admin-Verzeichnis, damit beim Installieren des Plugins die lang-Variable vorhanden ist. Damit ich sie im Template dann aber auch richtig übersetzt bekomme, muss ich sie zusätzlich escapen?
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Nimm:
PHP-Code:
find_replace_templatesets('usercp_nav_misc', '#</tbody>#', '<tr><td class="trow1 smalltext">
<a href="plugindatei.php" class="usercp_nav_item usercp_nav_editlists">{$lang->plugindatei_lang}</a></td></tr></tbody>');
Dann wird die Variable nicht ersetzt und steht im Template. Dann kannst du sie über die Sprachdatei (jetzt nicht im admin-Ordner) ersetzen lassen.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.