Beiträge: 420
Themen: 95
Registriert seit: 19.04.2007
06.01.2025, 14:17
(Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2025, 14:47 von falcao1010.)
Super, ich werde das mal ausprobieren.
Gibt es irgendwelche Grenzen, wie lang der Text in solch einer Sprachdatei sein darf?
Beiträge: 2.294
Themen: 34
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
Es gibt keine Grenzen.
Sollten sich aber nur einzelne Teile des Textes ändern, kann es Sinn machen, den Text in mehrere Variablen aufzuteilen - ist beim Bearbeiten dann übersichtlicher.
Beiträge: 840
Themen: 8
Registriert seit: 08.02.2016
MyBB-Version: 1.8.38
Die Datei selbst kann beliebig groß sein, ebenso die Anzahl der Variablen.
Auch der Text innerhalb von Variablen kann beliebig lang sein.
(Ich denke diese Limits von PHP und Systemressourcen wird man mit einer Variable niemals erreichen)
Bedenke trotzdem, dass es sinnvoller wäre Texte so kurz wie möglich zu halten, allein schon der Übersicht wegen und ganz wichtig:
Falls du Sonderzeichen im Text benutzt (HTML Tags oder sonstiges), müssen diese natürlich maskiert werden. Hier Beispiele für Anführungszeichen mit Backslash oder Single-quote ohne Backslash:
Code: $variable1 = "<p>Text text text</p>
<img src=\"https://domain/datei\">
<p align=\"center\">Zentrierter Text text text</p>";
$variable2 = '<img src="https://domain/datei">';
Sollten es tatsächlich große HTML-Inhalte in den Variablen werden, wären eigene Template sinnvoller. Bei Text kannst du locker bei Variablen bleiben.
[ETS]
Beiträge: 420
Themen: 95
Registriert seit: 19.04.2007
12.01.2025, 08:11
(Dieser Beitrag wurde zuletzt bearbeitet: 12.01.2025, 08:20 von falcao1010.)
(06.01.2025, 11:54)[ExiTuS] schrieb: Wie gesagt, gibt es mehrere Möglichkeiten.
Eine weitere Alternative wäre eine eigene Datei, in der die Variablen mit entsprechendem Inhalt gespeichert werden. Diese kannst du dort speichern, wo auch deine jetzigen eigenen Seiten liegen und einmalig zentral ändern.
Zum Beispiel, my_var.php
Code: <?php
$tabelle = 'Tabelleninhalt';
$link1 = 'https://.../xyz';
In allen deinen eigenen Seiten kannst du diese Datei nun mit
Code: include 'my_var.php';
einbinden und auf die Variablen zugreifen.
[ETS]
Dazu noch 2 Fragen:
Der Code "include 'my_var.php';" kommt in den head-Bereich des jeweiligen globalen Templates der eigenen Seite?
Wie genau muss ich die Variable aufrufen; reicht es in dem o.g. Beispiel, "$tabelle" in dem Body des globalen Templates aufzuführen?
Beiträge: 1.778
Themen: 22
Registriert seit: 18.02.2017
MyBB-Version: 1.8.*
(12.01.2025, 08:11)falcao1010 schrieb: Dazu noch 2 Fragen:
Der Code "include 'my_var.php';" kommt in den head-Bereich des jeweiligen globalen Templates der eigenen Seite? Nein, in deine php-Datei, die du für die Seite erstellt hast
(12.01.2025, 08:11)falcao1010 schrieb: Wie genau muss ich die Variable aufrufen; reicht es in dem o.g. Beispiel, "$tabelle" in dem Body des globalen Templates aufzuführen? Da ich nicht weiß, wie du deine Variablen jetzt aufgebaut hast, ganz allgemein. Du bindest sie im Template der von dir erstellten Seite da ein wo das hin soll, was du da erstellt hast und zwar mit {$tabelle}
Kein Support per PN, Mail, Telefon, Hausbesuch, Discord, Telegram, WhatsApp und anderen nutzlosen Tools
Beiträge: 420
Themen: 95
Registriert seit: 19.04.2007
(12.01.2025, 15:01)bv64 schrieb: (12.01.2025, 08:11)falcao1010 schrieb: Dazu noch 2 Fragen:
Der Code "include 'my_var.php';" kommt in den head-Bereich des jeweiligen globalen Templates der eigenen Seite? Nein, in deine php-Datei, die du für die Seite erstellt hast
(12.01.2025, 08:11)falcao1010 schrieb: Wie genau muss ich die Variable aufrufen; reicht es in dem o.g. Beispiel, "$tabelle" in dem Body des globalen Templates aufzuführen? Da ich nicht weiß, wie du deine Variablen jetzt aufgebaut hast, ganz allgemein. Du bindest sie im Template der von dir erstellten Seite da ein wo das hin soll, was du da erstellt hast und zwar mit {$tabelle}
Ich muss irgendwo noch einen Fehler haben, die Inhalte der Variablen werden nicht dargestellt.
Beiträge: 1.778
Themen: 22
Registriert seit: 18.02.2017
MyBB-Version: 1.8.*
wie sieht denn deine php-Datei aus? Bitte im entsprechenden php-BBcode posten
bzgl. PN beachte bitte meine Signatur, vielen Dank
Hilfe per PN macht m.E. auch gar keinen Sinn, da dann andere ihr Wissen nicht mit einbringen können und zukünftige User mit dem gleichen Problem die Lösung nicht finden können. Dafür gibt es eben ein Supportforum!
Kein Support per PN, Mail, Telefon, Hausbesuch, Discord, Telegram, WhatsApp und anderen nutzlosen Tools
Beiträge: 420
Themen: 95
Registriert seit: 19.04.2007
PHP-Code: <?php //**** Eigene Seite ***** define("KILL_GLOBALS", 1); define("IN_MYBB", 1); require_once "./global.php"; require_once "./inc/functions_post.php"; add_breadcrumb("Text"); eval("\$text = \"".$templates->get("text")."\";"); output_page($text); include 'my_var.php'; ?>
Beiträge: 840
Themen: 8
Registriert seit: 08.02.2016
MyBB-Version: 1.8.38
Das "include" muss schon vor dem "eval(...)" gesetzt werden - am besten direkt nach den beiden "require_once". Denn "eval" erzeugt schon das fertige Template mit Inhalten, wie es an den Browser geliefert und angezeigt wird.
PHP arbeitet den Code der Reihe nach ab. Alles was nicht vorher schon definiert wurde, kann im Nachhinein nicht benutzt werden. Hier will PHP das Template fertigstellen (eval), obwohl die Variablen (include) erst danach definiert werden.
[ETS]
Beiträge: 420
Themen: 95
Registriert seit: 19.04.2007
26.01.2025, 11:05
(Dieser Beitrag wurde zuletzt bearbeitet: 26.01.2025, 11:29 von falcao1010.)
Der Einsatz mit den Variablen, die in der speziellen Datei gespeichert sind, funktioniert wunderbar. Ein Frage hätte ich noch. Wenn es nicht möglich ist, auch okay.
Ausgangslage: Ich habe in der Datei my_var.php Tabellen als Variablen gespeichert, die jetzt auf vielen verschiedenen eigenen Seiten eingebunden sind. Nun wäre es wünschenswert, dass je nach Seite einzelne Zeilen der Tabellen hervorgehoben werden (also z.B. Fettdruck). Das heißt vereinfacht gesagt von Tabelle ABC soll auf Seite X die Zeile 3 fettgedruckt werden, auf Seite Y die Zeile 4 fettgedruckt werden und auf Seite Z die Zeile 5 fettgedruckt werden. Ist so etwas (mit vernünftigem Aufwand) umsetzbar? Klar könnte ich die Variable in der Datei my_var.php jeweils neu mit leicht verändertem Code abspeichern, aber das wäre sehr aufwändig und die Datei my_var.php würde sehr groß.
Ich könnte mir etwas vorstellen wie eine Funktion, die sich nach dem Namen der Seite richtet, also z.B. wenn Name der Seite X dann Fettdruck der Zeile 3, etc.
Wie gesagt, wenn es zu kompliziert ist, auch kein Problem.
|