MyBB.de Forum
Problem mit find_replace_templatesets - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Problem mit find_replace_templatesets (/thread-21791.html)

Seiten: Seiten: 1 2


Problem mit find_replace_templatesets - Jockl - 02.11.2009

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. Sad

Wäre klasse, wenn mir jemand weiterhelfen könnte.


RE: Problem mit find_replace_templatesets - StefanT - 03.11.2009

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.


RE: Problem mit find_replace_templatesets - Jockl - 03.11.2009

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. Huh


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? Wink


RE: Problem mit find_replace_templatesets - StefanT - 04.11.2009

In welchem Ordner liegt die Sprachdatei? Es können nur Dateien im admin-Ordner des ACPs geladen werden.


RE: Problem mit find_replace_templatesets - Jockl - 04.11.2009

(04.11.2009, 17: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, 17:06)StefanT schrieb: Es können nur Dateien im admin-Ordner des ACPs geladen werden.
Blush das kapiere ich jetzt leider nicht. Was meinst Du damit?


RE: Problem mit find_replace_templatesets - StefanT - 04.11.2009

Die Datei muss im Ordner inc/languages/*Sprache*/admin liegen, da die Datei ja auch im ACP geladen wird.


RE: Problem mit find_replace_templatesets - Jockl - 04.11.2009

Bin ehrlich gesagt gerade ein wenig verwirrt. 'schuldigung Wink

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.... Smile


RE: Problem mit find_replace_templatesets - StefanT - 04.11.2009

Wenn du Variable beim Aktiveren des Plugins benutzt, dann gilt meine Aussage. Wenn du die Variable im Template haben willst, musst du sie escapen.


RE: Problem mit find_replace_templatesets - Jockl - 04.11.2009

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?


RE: Problem mit find_replace_templatesets - StefanT - 04.11.2009

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.