Sprachvariable im Template des Textformater

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
IMC
Mitglied
Beiträge: 543
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Sprachvariable im Template des Textformater

Beitrag von IMC »

Ich habe ein Problem mit dem Ausgeben von Sprachvariablen im Template des Textformater.

Innerhalb der Grenzen des Standardtemplates $configurator->tags['IMG']->template funktioniert dies mit den Attributen ohne Probleme. Leider nicht in dem Code den ich drumherum hinzugefügt habe.

Ich denke das ich diese über ein core.event selbst setzen muss. Leider habe ich dazu kein Beispiel dazu gefunden. Zur Zeit setze ich die Sprachvariablen mit JS.

Die Fehlerbehaftete HTML-Ausgabe:

Code: Alles auswählen

<div class="imcger-img-wrap">
	<a href="http://up.picr.de/21927574pq.jpg" data-fancybox="image" data-caption="http://up.picr.de/21927574pq.jpg">
		<img src="http://up.picr.de/21927574pq.jpg" class="postimage" alt="Externes Bild" title="Externes Bild">
	</a>
	<span class="imcger-ext-image">
		<span>{$L_IMCGER_EXT_LINK_BILD_SOURCE}</span>: http://up.picr.de/21927574pq.jpg
	</span>
</div>
Die Eingabe von {{ lang("IMCGER_EXT_LINK_BILD_SOURCE") }} führte erwartungsgemäß auch nicht zum Erfolg.
Gruß, Thorsten
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17401
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Sprachvariable im Template des Textformater

Beitrag von Dr.Death »

Ist es ein fester Wert aus den Sprachvariablen ?
Wenn ja sollte {{ lang('IMCGER_EXT_LINK_BILD_SOURCE') }} reichen, außer die Sprachvariable IMCGER_EXT_LINK_BILD_SOURCE ist leer...

Ohne den gesamten Code zu sehen kann man schlecht helfen...hast du den Code irgendwo auf Github / Gitlab einsehbar?
Benutzeravatar
IMC
Mitglied
Beiträge: 543
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: Sprachvariable im Template des Textformater

Beitrag von IMC »

https://github.com/IMC-GER/phpBB-External-Links

Habe eben die geänderten Dateien hochgeladen.
Die Sprachvariablen sind im Moment nur in de gesetzt.

Leider geht es nicht mit {{ lang("IMCGER_EXT_LINK_BILD_SOURCE") }} und {$L_IMCGER_EXT_LINK_BILD_SOURCE}
{$L_IMCGER_EXT_LINK_EXT_LINK} für das Title Attribute arbeitet hervorragend.

Betreffender Code ist in der main_listener.php.

Ich bin mit Github noch am lernen und üben.
Gruß, Thorsten
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17401
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Sprachvariable im Template des Textformater

Beitrag von Dr.Death »

Ok, du bist noch im php code und nicht im Template.

Die Sprach Variablen werden innerhalb vom PHP Coder normalerweise mit:

$this->language->lang('IMCGER_EXT_LINK_BILD_SOURCE')

Bau diesen Teil mal in deinem Code ein und mache eine Testausgabe mittels:

Code: Alles auswählen

echo  $this->language->lang('IMCGER_EXT_LINK_BILD_SOURCE') . " <-- Dort sollte :Quelle: stehen.";
Oder innerhalb deines Codes:

Code: Alles auswählen

<span>' . $this->language->lang('IMCGER_EXT_LINK_BILD_SOURCE') . '</span>
Benutzeravatar
IMC
Mitglied
Beiträge: 543
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: Sprachvariable im Template des Textformater

Beitrag von IMC »

Hatte ich vergessen zu erwähnen. Das hatte ich auch schon vor längerer Zeit ausprobiert.

Dies geht nicht da das Template / das Event core.text_formatter_s9e_configure_after nur aufgerufen wird wenn die Extension aktiviert wird, oder der Forums Cache aktualisiert wird. Das heist, dass zu dem Zeitpunk der Text in der aktuellen Sprache in das Template geschrieben wird. jedoch bei weiteren Forum aufrufen nicht mehr an die User Sprache angepasst wird.

Dabei fällt mir dass mal wieder versuchen könnte die Sprachvariable als Templatvariable über das Event core.text_formatter_s9e_renderer_setup einzuschleusen. Hat im letzten Jahr nicht funktioniert, da hatte ich aber noch weniger Ahnung von Stringverarbeitung in XPath als jetzt. Ich versuche es einfach nochmal.

Edit:
Hat beim 2. Versuch geklappt. Wenn der Variable ein L_ vorrangestellt wird klappt es nicht.
Ich danke dir dafür das du mich auf die richtige Spur gebracht hast. Die Lösung: <xsl:value-of select="string($S_TEXT_SOURCE)"/>
Gruß, Thorsten
Benutzeravatar
IMC
Mitglied
Beiträge: 543
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: Sprachvariable im Template des Textformater

Beitrag von IMC »

Zur Vollständigkeit.
Da die Templatevariable mit beginnenden L_ nicht funktionierte habe ich nochmal was ausprobiert.

Es ist tatsächlich möglich die Sprachvariable direkt im Template auszugeben.
<xsl:value-of select="string($L_IMCGER_EXT_LINK_BILD_SOURCE)"/>
Gruß, Thorsten
cpg
Mitglied
Beiträge: 510
Registriert: 24.11.2007 12:43
Kontaktdaten:

Re: Sprachvariable im Template des Textformater

Beitrag von cpg »

Moin,

bei der neuesten Version (23/24 Tage alt) bekomme ich eine Fehlermeldung:

Code: Alles auswählen

class 'imcger/externallinks/event/main_listener' does not have a method 'load_language_on_setup'

Ich habe erstmal wieder die ältere Version aktiviert.

Gruß
cpg
Benutzeravatar
IMC
Mitglied
Beiträge: 543
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: Sprachvariable im Template des Textformater

Beitrag von IMC »

Hi cpg,

welche Version hast du den. Aktuell ist v1.4.2. Dort gibt es die Methode load_language_on_setup nicht mehr. Vielleicht funktioniert es wenn du den Cache löscht.

In kürze kommt eine neue Version mit besserer Erkennung von Bildern und weiteren Codeänderungen. Hatte leider noch keine Zeit um die neue Version ausgiebig zu Testen. Bin jetzt auch wieder das ganze Wochenende unterwegs. :)
Gruß, Thorsten
cpg
Mitglied
Beiträge: 510
Registriert: 24.11.2007 12:43
Kontaktdaten:

Re: Sprachvariable im Template des Textformater

Beitrag von cpg »

Moin Thorsten,

es war die letzte Version von github.
Cache habe ich natürlich gelöscht; der Fehler blieb.
Das ist aber kein Problem.
Da du weitere Aktualisierungen vornimmst, werde ich in ein paar Tagen wieder reinschauen.

Vielen Dank für deine Arbeit! Ich hatte schon gedacht, mir selbst etwas auszudenken, um die externen Links zu kennzeichen; aber da entdeckte ich deine Lösung.

Gruß
cpg
Benutzeravatar
IMC
Mitglied
Beiträge: 543
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: Sprachvariable im Template des Textformater

Beitrag von IMC »

Die Version 1.4.3 steht jetzt zu Download bereit.

Leider konnte ich deine Fehlermeldung nicht nachstellen. Im besten Fall kam eine ähnliche/vergleichbare, aber nur wenn ich den Cache nicht gelöscht hatte.
Gruß, Thorsten
Antworten

Zurück zu „Coding & Technik“