MyBB.de Forum

Normale Version: Syntax in Sprachdatei
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
(04.06.2021, 12:14)Schnapsnase schrieb: [ -> ]Der Platzhalter selbst ist dann innerhalb dieser Variable auch jederzeit mehrfach verwendbar.
Dass der Platzhalter innerhalb "einer Sprachvariablen x-mal definiert werden kann habe ich bereist erkannt und geschrieben. Auch StefanT hat dies nochmals geschrieben.

Die erforderlichen Platzhalter müssen jedoch für "jede" Sprachvariable expliziet definiert werden! Habe ich alos in einer Sprachdatei z.B: 30 Sprachvariablen und benötige in 25 den Platzhalter, muss ich den Platzhalter 25x definieren.

Einzig was mit noch fehlt sind die Variablen welche laut StefanT eh bereits zur Verfügung stehen (oder habe ich das auch wieder inkorrekt gelesen?)
Zu dieser Anmerkung (sie hat mir keine Ruhe gelassen):
Zitat:Sprachdateien können nicht mehr korrekt im Admin-CP bearbeitet werden, wenn sie PHP-Variablen enthalten.
welche nicht so ganz zutreffend ist, habe ich mittels einem Live-Test eine interessante Erkenntnis gewonnen:

Ich unterstelle mal für nachstehende Erkenntnis, dass der Forenname MyBB-Forum lautet:
Gegeben:
PHP-Code:
global $mybb;
$bb_name = htmlspecialchars_uni($mybb->settings['bbname']);  
Der Syntax (Platzhalter) lautet somit $bb_name!

Variante 1
1.1 Einbindung in der Sprachvariable:
PHP-Code:
$l['wissenswertes'] = 'Bei <span style="color: #980000"> '.$bb_name.' <span> können Sie ....usw.'
1.2 Ausgabe im Frontend:
Zitat:Bei MyBB-Forum können Sie ...usw.
1.3 Anzeige bei der Bearbeitung im ACP:
Zitat:Bei <span style="color: #980000">MyBB-Forum<span> können Sie ...usw.
Der Syntax (Platzhalter) wurde mit dem Klartext ersetzt.

Variante 2
2.1 Einbindung in der Sprachvariable:
PHP-Code:
$l['wissenswertes'] = "Bei <span style=\"color: #980000\"> $bb_name <span> können Sie ....usw."
2.2 Ausgabe im Frontend:
Zitat:Bei MyBB-Forum können Sie ...usw.
2.3 Anzeige bei der Bearbeitung im ACP:
Zitat:Bei <span style="color: #980000">MyBB-Forum<span> können Sie ...usw.
Der Syntax (Platzhalter) wurde mit dem Klartext ersetzt.

Fazit:
a) Eine korrekte Bearbeitung der Sprachdatei ist weiterhin möglich. Die Wahrscheinlichkeit dass sich ein definierter Syntax ändert ist eigentlich sehr gering (ok, kann aber durchaus mal gegeben sein). 

b) Packt man die Definition(en) der Variable(n) in eine eigene PHP-Datei und includiert sie in den gewünschten Sprachdateien, stehen die definierten Variablen (besonders die E-Mailadressen) überall, wo halt gewünscht, zur Verfügung. Änderungen sind dann nur noch in einer Datei erforderlich.

c) Wer zudem mit dieser Syntax-Lösung arbeitet, verwendet eh einen Texteditior wie z.B. Notepad++ zur Bearbeitung von Sprachdateien (= Zeiteffizienz) und nicht das ACP.
Bei den ganzen genannten Einschränkungen kann man die Lösung durchaus als Murks bezeichnen. Wink Wenn du sie trotzdem einsetzen möchtest, kannst du das natürlich machen.
Du schreibst in Rätseln! An welcher Stelle meines Postings wurden "Einschränkungen" benannt?
Also fassen wir den Thread noch einmal zusammen:

Die Gründe, warum die Lösung mit PHP-Code in Sprachdateien nicht empfehlenswert ist:
  • Es ist nicht vorgesehen und es ist unklar, ob es auch noch nach zukünftigen Updates funktioniert.
  • Die Methode funktioniert nur mit wenigen Variablen.
  • Beim Bearbeiten der Sprachdatei im Admin-CP werden, wie du bestätigt hast, die Variablen ersetzt und anderer PHP-Code komplett entfernt. Der Text ist danach nicht mehr variabel und auch die Ersetzung muss nicht zwangsläufig stimmen (ja nach Variable).
  • Es gibt eine simple "richtige" Lösung, pro Variable wären das eine einzige Zeile Code.

Für deine eigene Nutzung mag das akzeptabel sein, weitergeben oder veröffentlichen würde ich solchen Code aber nicht.
(05.06.2021, 14:07)StefanT schrieb: [ -> ]Also fassen wir den Thread noch einmal zusammen:
Sorry, Du fast nicht den Thread zusammen gefasst, sondern nachvollziehbar Deine Ansicht zur Thematik aufgelistet!

Eigentlich wurde erwartet dass Du bzgl. Deinen getätigten Aussagen die gestellten Fagen beantwortest.

Deine Aussage: hier
Frage hierzu: hier und hier und hier (letzter Absatz)
Sollte ich die Antwort überlesen habe, erbitte den Link dazu.

Deine Aussage: hier
Frage hierzu: hier
Sollte ich die Antwort überlesen habe, erbitte den Link dazu.

Inhaltlich wäre es dienlicher und weit aus effektiver, wenn gezielte Fragen, zu getätigten Aussagen, nicht einfach mit Nebenthemen bezogenen Begründungen übergangen würden! Es bleiben die eigentlich gestellten Fragen doch dann noch unbeantwortet.


(05.06.2021, 14:07)StefanT schrieb: [ -> ]Die Gründe, warum die Lösung mit PHP-Code in Sprachdateien nicht empfehlenswert ist:
  • Es ist nicht vorgesehen und es ist unklar, ob es auch noch nach zukünftigen Updates funktioniert.
Das mag Stand heute zutreffend sein, aber Du weist selbst sehr genau, das Internetpräsenzen und somit auch MyBB einem ständigen dynamischen Weiterentwicklungsprozess unterliegen. Alles fing/fängt stets mit einer Idee an. Es ist bisher kein Grund erkennbar, warum Ideen bereits von Beginn an abgewertet werden sollten.

(05.06.2021, 14:07)StefanT schrieb: [ -> ]
  • Die Methode funktioniert nur mit wenigen Variablen.
Wieviel an der Zahl bzw. Maximum? Nicht einfach nur etwas als "undefinierbar" erwähnen, sondern fairerweise dann auch definieren! Wer solche Globalattribe (hier = wenigen) verwendet, sollte sie auch mit konstruktivem Inhalt füllen (können).

Solche Aussagen reizen natürlich zum Testen. Habe mal spasseshalber eine Sprachdatei mit 100 erfolgreich eingebundenen Variablen (Notepad++ ist hierbei ein fleißiger Helfer gewesen) erstellt. Funktioniert absolut Fehlerfrei! Es ist für mich bei PHP noch keine Grenze erkennbar. Auch im ACP Bearbeiten der Sprachvariabelen] konnte die Umsetzung [siehe hier ohne Fehler festgestellt werden. Vielleicht habe ich aber etwas inkorrekt ausgeführt weil der von Dir angemerkte Sachverhalt nicht eingetreten ist.


(05.06.2021, 14:07)StefanT schrieb: [ -> ]
  • Beim Bearbeiten der Sprachdatei im Admin-CP werden, wie du bestätigt hast, die Variablen ersetzt und anderer PHP-Code komplett entfernt. Der Text ist danach nicht mehr variabel und auch die Ersetzung muss nicht zwangsläufig stimmen (ja nach Variable).
Wie bereits hier angemerkt, sollte eh diese von MyBB.de selbst angeregte Vorgehensweise gehandhabt werden.

Aber warum sollte die Ersetzung (je nach Variable) nicht stimmen? Digitaltechnik ist im Grundsatz zunächst einmal doof (besteht eh nur aus "1"sen und "0"en) und macht ganz banal gesprochen dass was man ihr aufgibt zu tun. Defintiv nicht mehr und nicht weniger. Läuft etwas schief, hat der/die Programmierer/in irgendetwas nicht berücksichtigt, beachtet , etc. Die Schuld alleinig auf Sofware bzw. deren Funkion zu verlagern war zu keiner Zeit erfolgreich.


(05.06.2021, 14:07)StefanT schrieb: [ -> ]
  • Es gibt eine simple "richtige" Lösung, pro Variable wären das eine einzige Zeile Code.
Ich überlege gerade wie man diese Aussage mit dieser Aussage zusammenführen kann. Den damit verbundenen umfassenden Aufwand (je Sprachvariable stets eine gesonderte Definition) habe ich hier bereits erläutert. Es entzieht sich meiner möglicherweise mangelnden Sachkenntnis, wie ich es verständlicher erläutern könnte.


(05.06.2021, 14:07)StefanT schrieb: [ -> ]Für deine eigene Nutzung mag das akzeptabel sein, weitergeben oder veröffentlichen würde ich solchen Code aber nicht.
Du nicht! Was aber könnte der Grund sein, etwaige hilfreiche Vorgehensweisen (so meine Sichtweise) den Anderen MyBB-Anwendern vorzuenthalten?

Es sollte doch dem jeweiligen mündigen MyBB-Anwender (soweit er Kenntnis einer praktizierten Vorgehensweise hat) selbst die Entscheidung überlassen werden Vorgehensweisen der Anderen zu übernehmen oder nicht. Wir sind ja schließlich eine Community! Vllt. dienen solche Ideen gar in ganz anderen Bereichen weil hier der sogenannte "Stein des Anstoßes" gefunden wurde.


Ein für mich im Zuge der Umsetzung entdeckter großer Vorteil z.B. ist, dass ich in allen meinen eigenen Sprachdateien meine "Varibalen" [immer wiederkehrende (Fach-)Begriffe] includiere und ändert sich z.B. ein (Fach-)Begriff oder eine E-Mailadresse (Datenschutzbeauftragter, Anzeigenverwaltung usw.) oder die UID des zuständigen Anprechpartners bei vorgenerierten PNs, muss ich nicht erst lange Notepad++ wie bisher) durchsuchen lassen in welchen Sprachdatein die gewünschten Änderungen durchzuführen sind, sondern muss sie nur einmal abändern und alle definierten Sprachvariable sind in den Sprachdateien sofort aktuell.


Wie bereits erwähnt, es fängt - auch hier - mit einer umgesetzten Idee an. Ob jemand sie Nutzen möchte oder nicht, kannn/darf uns muss jede/r für sich entscheiden.

Wenn Du abschließend noch die offenen gezielten Fragen konstruktiv bzw. inhaltlich gezielt beantworten würdest, wäre es der Urpsungsthematik durchaus sehr dienlich. Dafür vorab besten Dank.
(06.06.2021, 12:09)Gerti schrieb: [ -> ]Deine Aussage: hier
Frage hierzu: hier und hier und hier (letzter Absatz)
Sollte ich die Antwort überlesen habe, erbitte den Link dazu.
Wie du im Beispiel siehst, werden die Ersetzung für jede einzelne Variable programmiert. Welche Platzhalter zur Verfügung stehen ist daher bei jeder Sprachvariable anders. Meist gibt es gar keinen Platzhalter.
(06.06.2021, 12:09)Gerti schrieb: [ -> ]Deine Aussage: hier
Frage hierzu: hier
Sollte ich die Antwort überlesen habe, erbitte den Link dazu.
Die Einschränkungen und mögliche Probleme habe ich in meinem letzten Beitrag ausführlich dargelegt.
(06.06.2021, 12:09)Gerti schrieb: [ -> ]Inhaltlich wäre es dienlicher und weit aus effektiver, wenn gezielte Fragen, zu getätigten Aussagen, nicht einfach mit Nebenthemen bezogenen Begründungen übergangen würden! Es bleiben die eigentlich gestellten Fragen doch dann noch unbeantwortet.
Ich habe eigentlich nur meine Aussage aus Beitrag #3 noch einmal präziser wiederholt.
(06.06.2021, 12:09)Gerti schrieb: [ -> ]
(05.06.2021, 14:07)StefanT schrieb: [ -> ]
  • Es ist nicht vorgesehen und es ist unklar, ob es auch noch nach zukünftigen Updates funktioniert.
Das mag Stand heute zutreffend sein, aber Du weist selbst sehr genau, das Internetpräsenzen und somit auch MyBB einem ständigen dynamischen Weiterentwicklungsprozess unterliegen. Alles fing/fängt stets mit einer Idee an. Es ist bisher kein Grund erkennbar, warum Ideen bereits von Beginn an abgewertet werden sollten.
Ich habe an keiner Stelle die Idee abgewertet. Bei der Weiterentwicklung ist es allerdings oft sinnvoll auf bewährte und solide Lösungen zu setzen. Man muss nicht immer versuchen das Rad neu zu erfinden.
(06.06.2021, 12:09)Gerti schrieb: [ -> ]
(05.06.2021, 14:07)StefanT schrieb: [ -> ]
  • Die Methode funktioniert nur mit wenigen Variablen.
Wieviel an der Zahl bzw. Maximum? Nicht einfach nur etwas als "undefinierbar" erwähnen, sondern fairerweise dann auch definieren! Wer solche Globalattribe (hier = wenigen) verwendet, sollte sie auch mit konstruktivem Inhalt füllen (können).
Welche Variablen zur Verfügung stehen, hängt davon ab, welche globalen Variablen definiert sind, wenn die Sprachdatei geladen wird. Variablen, die zwischen Laden der Datei und Aufruf der Sprachvariable gesetzt werden, funktionieren beispielsweise nicht.
(06.06.2021, 12:09)Gerti schrieb: [ -> ]
(05.06.2021, 14:07)StefanT schrieb: [ -> ]
  • Beim Bearbeiten der Sprachdatei im Admin-CP werden, wie du bestätigt hast, die Variablen ersetzt und anderer PHP-Code komplett entfernt. Der Text ist danach nicht mehr variabel und auch die Ersetzung muss nicht zwangsläufig stimmen (ja nach Variable).
Wie bereits hier angemerkt, sollte eh diese von MyBB.de selbst angeregte Vorgehensweise gehandhabt werden.
Weder die MyBB-Entwickler noch wir empfehlen dies für Sprachdateien, für Anfänger ist der Editor im Admin-CP hier besser geeignet. Und ja, wir hatten schon dutzende Support-Anfragen, wo falsche Änderungen an Sprachdateien zu Problemen geführt haben (typischerweise kaputte Umlaute oder Syntax-Fehler).
(06.06.2021, 12:09)Gerti schrieb: [ -> ]Aber warum sollte die Ersetzung (je nach Variable) nicht stimmen? Digitaltechnik ist im Grundsatz zunächst einmal doof (besteht eh nur aus "1"sen und "0"en) und macht ganz banal gesprochen dass was man ihr aufgibt zu tun. Defintiv nicht mehr und nicht weniger. Läuft etwas schief, hat der/die Programmierer/in irgendetwas nicht berücksichtigt, beachtet , etc. Die Schuld alleinig auf Sofware bzw. deren Funkion zu verlagern war zu keiner Zeit erfolgreich.
Beim Bearbeiten im Admin-CP stehen schlicht teilweise andere Variablen zur Verfügung wie beim Laden einer Sprachdatei und manche haben abweichende Werte. Beispielsweise wird $thread['subject'] im Admin-CP nicht definiert sein.
(06.06.2021, 12:09)Gerti schrieb: [ -> ]
(05.06.2021, 14:07)StefanT schrieb: [ -> ]
  • Es gibt eine simple "richtige" Lösung, pro Variable wären das eine einzige Zeile Code.
Ich überlege gerade wie man diese Aussage mit dieser Aussage zusammenführen kann. Den damit verbundenen umfassenden Aufwand (je Sprachvariable stets eine gesonderte Definition) habe ich hier bereits erläutert. Es entzieht sich meiner möglicherweise mangelnden Sachkenntnis, wie ich es verständlicher erläutern könnte.
Naja, aber das ist doch triviales Copy-Paste?
(06.06.2021, 12:09)Gerti schrieb: [ -> ]
(05.06.2021, 14:07)StefanT schrieb: [ -> ]Für deine eigene Nutzung mag das akzeptabel sein, weitergeben oder veröffentlichen würde ich solchen Code aber nicht.
Du nicht! Was aber könnte der Grund sein, etwaige hilfreiche Vorgehensweisen (so meine Sichtweise) den Anderen MyBB-Anwendern vorzuenthalten?

Es sollte doch dem jeweiligen mündigen MyBB-Anwender (soweit er Kenntnis einer praktizierten Vorgehensweise hat) selbst die Entscheidung überlassen werden Vorgehensweisen der Anderen zu übernehmen oder nicht. Wir sind ja schließlich eine Community! Vllt. dienen solche Ideen gar in ganz anderen Bereichen weil hier der sogenannte "Stein des Anstoßes" gefunden wurde.
Wo enthalte ich etwas anderen vor? Ich habe dargelegt, warum die Lösung nicht gut ist und dir sogar gesagt, dass du sie anwenden kannst, wenn die Problematiken für dich akzeptabel sind.
(06.06.2021, 17:10)StefanT schrieb: [ -> ]Ich habe an keiner Stelle die Idee abgewertet.
Zu dieser Anmerkung verweise ich zur Vereinfachung auf diese Beiträge:
1. Bewertung von Dir: hier
2. Bewertung von Dir: hier
3. Kommentierung: hier

Solltest Du mit der von Dir ausgeführten Bewertung irgend etwas anderes gemeint haben, so wurde dies vermutlich überlesen und bitte daher mitzuteilen welches Thema bzw. welcher Lösungsweg deinerseits mit "Murks" gemeint war.

(06.06.2021, 17:10)StefanT schrieb: [ -> ]Man muss nicht immer versuchen das Rad neu zu erfinden.
Zustimmung.

Es wurde meiner bescheidenen Kenntnis nach keinesfalls das "Rad neu erfunden", sondern von Schnapsnase für ein Anliegen ein Lösungsweg (Korrektur war nur $boardname auf z.B. $bb_name zu ändern ...Begründung siehe letzter Absatz) aufgezeigt welcher bisher nicht gegeben war. Vorteile (für die welche es gleichfalls umsetzen möchten) habe ich aufgezeigt.

Du hast den Lösungsweg von Schnapsnase zweimal als "Murks" bewertet und nunmehr diese Begriffsauswahl als "Idee nicht abgewertet" definiert.

Anmerkung:
"Murks" bedeutet: "fehlerhaft oder nachlässig ausgeführte Arbeit" Was sehr wohl einer Bewertung gleichgestellt ist.
Hey ihr beiden Wink 
Ihr solltet vllt einen eigenen Discord-Kanal aufmachen... Big Grin Big Grin
Was soll ich denn machen, wenn Gerti immer wieder Fragen an mich persönlich richtet und sich mit meinen Antworten nicht zufrieden gibt? Rolleyes

Gerne können wir "Murks" durch "nicht empfehlenswert" ersetzen, dann fühlt sich garantiert niemand mehr abgewertet.
Seiten: 1 2 3 4