Neu JTL und die Sparchdatei Base.mo im Plugin

bhoernchen

Aktives Mitglied
25. Mai 2023
22
2
Ich verzweifle langsam am Sprachimport bei JTL. Ivh versuchen gerade, die P- und H-Sicherheitssätze bei uns zu integrieren.
Im Template steht etwas, das dazu führt, dass diese SprachTags im Frontend der Webseite angezeigt wird

Frontend
#custom.spa_gefahr_stoff_h400#
#custom.spa_gefahr_stoff_euh206#
#custom.spa_gefahr_stoff_euh031#
*.tpl
{lang key="spa_gefahr_stoff_h400" section='custom'}
{lang key="spa_gefahr_stoff_euh206" section='custom'}
{lang key="spa_gefahr_stoff_euh031" section='custom'}

Wenn ich das per Daten.slf über das Backend (Sprachimport) importieren ..
custom;spa_gefahr_stoff_h400;Satz 400-slf;1
custom;spa_gefahr_stoff_euh206;Satz 206-slf;1
custom;spa_gefahr_stoff_euh031;Satz 031-slf;1
bekomm ich auch wirklich die Ausgaben ich dich will.

Wenn ich das direkt in die Datenbank (sql) in die Tabelle tsprachwerte schreib habe ich auch erfolg..
INSERT INTO `tsprachwerte` (`kSprachISO`, `kSprachsektion`, `cName`, `cWert`, `cStandard`, `bSystem`) VALUES ('1', '18', 'spa_gefahr_stoff_h400', 'das ist jezt über sql schon wieder', 'das ist jezt über sql schon wieder', '0');
INSERT INTO `tsprachwerte` (`kSprachISO`, `kSprachsektion`, `cName`, `cWert`, `cStandard`, `bSystem`) VALUES ('1', '18', 'spa_gefahr_stoff_euh031', 'das ist jezt über sql schon wieder', 'das ist jezt über sql schon wieder', '0');
INSERT INTO `tsprachwerte` (`kSprachISO`, `kSprachsektion`, `cName`, `cWert`, `cStandard`, `bSystem`) VALUES ('1', '18', 'spa_gefahr_stoff_euh206', 'das ist jezt über sql schon wieder', 'das ist jezt über sql schon wieder', '0');

aber wenn ich es versuche es dem Plugin mitzugeben.. über z.B.
plugins/pluginnamen/locale/de-DE/base.mo
plugins/pluginnamen/locale/de-DE/base.po
Wird das nix.. keine Ahnung was ich verkehrt mache. Und ja ich weiß das die Sätzte in der Base. Mo spa_gefahr_stoff_euh031 und spa_gefahr_stoff_euh206 beziehen.. Ich habe das alles etwas angepast.. Irgendwas Grundlegendes übersehe ich ..
Wie kann ich Prüfen ob die SprachDatei überhaupt geladen wird..
Danke..
 

Anhänge

NoOne

Sehr aktives Mitglied
16. März 2024
673
231
Die .mo und .po sind für gettext. Das läuft nicht über {lang key} sondern über getLocalization(), wenn ich mich nicht täusche. Um die in den Templates über Smarty zur Verfügung zu stellen, müsstest du die über Shop::Container()->getGetText()->loadPluginLocale() laden und dann per Shop::Smarty()->assign() zuweisen. Ich bin mir da nicht 100% sicher, aber ich meine das war so.
 
  • Gefällt mir
Reaktionen: bhoernchen

bhoernchen

Aktives Mitglied
25. Mai 2023
22
2
Wenn du damit recht hast erklärt das mein Problem.. Ich muss nur schauen wie ich das genau umsetzten kann..
 

bhoernchen

Aktives Mitglied
25. Mai 2023
22
2
Definiere die Sprachvariablen für das Frontend über die info.xml. Dann stehen sie dir über die Smarty-Funktion zur Verfügung und die Nutzer deines Plugins haben die Möglichkeit die Texte recht simpel anzupassen falls gewünscht. Wie das geht wird unter https://jtl-devguide.readthedocs.io/projects/jtl-shop/de/latest/shop_plugins/infoxml.html beschrieben.
Das war einer der ersten Gedanken, die ich hatte.. Hier ist der Auszug aus meiner info.xml..
Während er mir alles Anzeigt was ich im Adminmenu mache.. Habe ich auch hier das Problem, das er auf Variable nichts anzeigt.. Erst recht nicht, wenn ich im Admin Bereich auf „Sprachvariablen“ gehe. Mein Einträge kommen nicht
<Adminmenu>
<Settingslink sort="1">
<Name>Optionen</Name>
<Setting type="text" initialValue="spacer" sort="0" conf="N">
<Name>Allgemein</Name>
<Description></Description>
<ValueName>general</ValueName>
</Setting>
<Setting type="selectbox" initialValue="A" sort="1" conf="Y">
<Name>JTL Debug aktivieren?</Name>
<Description>Fügt die Ausgabe von JTL Debug auf jeder Seite hinzu</Description>
<ValueName>jtl_debug_enable</ValueName>
<SelectboxOptions>
<Option value="Y" sort="1">Ja</Option>
<Option value="N" sort="2">Nein</Option>
<Option value="A" sort="3">nur für Administratoren</Option>
</SelectboxOptions>
</Setting>
<Setting type="selectbox" initialValue="N" sort="13" conf="Y">
<Name>SPA Atribute in der Liste anzeigen</Name>
<Description>Zeigt die Attribute in der Listansicht</Description>
<ValueName>spa_show_attribute_all_list</ValueName>
<SelectboxOptions>
<Option value="Y" sort="1">Ja</Option>
<Option value="N" sort="2">Nein</Option>
</SelectboxOptions>
</Setting>
<Setting type="selectbox" initialValue="Y" sort="14" conf="Y">
<Name>SPA Atribute in der List anzeigen</Name>
<Description>Zeigt die Attribute in der Detailsansicht</Description>
<ValueName>spa_show_attribute_all_detail</ValueName>
<SelectboxOptions>
<Option value="Y" sort="1">Ja</Option>
<Option value="N" sort="2">Nein</Option>
</SelectboxOptions>
</Setting>
</Settingslink >
</Adminmenu>

<Locales>
<Variable>
<Name>jan_nicht</Name>
<VariableLocalized iso="GER">Theme %s erfolgreich gespeichert unter %s.</VariableLocalized>
<VariableLocalized iso="ENG">Theme %s successfully saved at %s.</VariableLocalized>
<Description>Wenn ein Theme im Templatekonfigurator gespeichert wurde.</Description>
</Variable>
<Variable>
<Name>compile_ok_jan</Name>
<VariableLocalized iso="GER">Theme %s erfolgreich gespeichert unter %s.</VariableLocalized>
<VariableLocalized iso="ENG">Theme %s successfully saved at %s.</VariableLocalized>
<Description>Wenn ein Theme im Templatekonfigurator gespeichert wurde.</Description>
</Variable>
<Variable>
<Name>name_der_sprachvariabledf</Name>
<VariableLocalized iso="GER">Theme %s erfolgreich gespeichert unter %s.</VariableLocalized>
<VariableLocalized iso="ENG">Theme %s successfully saved at %s.</VariableLocalized>
<Description>Wenn ein Theme im Templatekonfigurator gespeichert wurde.</Description>
</Variable>
<Variable>
<Name>name_der_sprachvariable</Name>
<VariableLocalized iso="GER">Theme %s erfolgreich gespeichert unter %s.</VariableLocalized>
<VariableLocalized iso="ENG">Theme %s successfully saved at %s.</VariableLocalized>
<Description>Wenn ein Theme im Templatekonfigurator gespeichert wurde.</Description>

</Variable>
</Locales>
 

MBesancon

Administrator
Mitarbeiter
1. Oktober 2010
2.087
218
Erkelenz
Als "section" für die Funktion musst du dann die ID deines Plugins angeben

Code:
{lang key='NAME_DER_VAR_AUS_DER_INFO.XML' section='DEINE_PLUGIN_ID'}

Was du so mit den Plugins anstellen kannst demonstriert Felix echt super im Demo-Plugin unter https://gitlab.com/jtl-software/jtl-shop/plugins/jtl_test

Verwalten kannst du die Inhalte der Sprachvariablen dann im Plugin-Manager. Hier findest du hinter deinem Plugin ein entsprechendes Icon das dich zu den Sprachvariablen des Plugins führt 🙂
 
  • Gefällt mir
Reaktionen: bhoernchen

bhoernchen

Aktives Mitglied
25. Mai 2023
22
2
Mo
Definiere die Sprachvariablen für das Frontend über die info.xml. Dann stehen sie dir über die Smarty-Funktion zur Verfügung und die Nutzer deines Plugins haben die Möglichkeit die Texte recht simpel anzupassen falls gewünscht. Wie das geht wird unter https://jtl-devguide.readthedocs.io/projects/jtl-shop/de/latest/shop_plugins/infoxml.html beschrieben.
So hat geklappt.. hatte die Doku nur nicth zu Ende gelesen.. Und mit deinem Hinweiß hilft das dann Danke..
Ich muss noch überlegen in wie weit ich das bei den alten Plugins die ich habe jetzt´Zeit umstellen will..
 
  • Gefällt mir
Reaktionen: MBesancon

Ähnliche Themen