Template vs. Modul

Fragen/Tipps allgemeiner Art.

Template vs. Modul

Beitragvon code11 » 21. Jul 2012, 12:40

Frage 1:
Eine Performance Frage:
Es geht darum, daß ich mir vorstellen kann, daß man, wenn man die Wahl hat mehr Sachen im Template zu schreiben als für viele Elemente Module einzurichten. Da Module per "Eval" importiert werden und diese von der Datenbank kommen. Irre ich mich?

Frage 2:
Ist die folgende Vorgehensweise richtig?
Das Projekt, was ich gerade versuche zu realisieren ist eine mehrsprachige Webseite. Da mein "Header" und "Footer" auf allen Seiten gleich ist, habe ich mir überlegt, diese beiden im Tenmplate zu platzieren, anstatt es in der Seitenstruktur einzubauen. Natürlich sollen Text je nach "clang" übersetzt werden. Ich habe mir das OutputFilter Addon angeschaut. Aber ich bin der Meinung, dass für Übersetzungen ein preg_replace überdimensioniert wäre. Ich will hier gern ein simples Sprach-Array erstellen...
Beispiel:
Code: Alles auswählen
array( 'de' =>array('car'=>'Auto','house'=>'Haus') , 'en'=>array('car'=>'car','house'=>'House') usw...  );

...und diese dynamisch je nach "clang" im Header und Footer einige Wörter übersetzen lassen.
Klappen tuts alle male. Aber da das mein erstes Projekt in Redaxo ist, frage ich mal lieber die erfahrenen User, ob dieser Weg OK ist, oder ob man es besser lösen könnte.

Frage 3:
Wie kann ich im Template eine Variable definieren, und diese ebenfalls auch in Modulen abrufen können. Auf Anhieb hat es nicht geklappt. $_SESSION variablen gehen natürlich...
code11
 
Beiträge: 26
Registriert: 20. Jul 2012, 01:31

Re: Template vs. Modul

Beitragvon jdlx » 21. Jul 2012, 15:10

code11 hat geschrieben:Da Module per "Eval" importiert werden und diese von der Datenbank kommen.

Redaxo cacht.. sprich die slices (Modul Outs) eines Artikels werden in ../generated/article/*.content gespeichert und beim Aufruf halt ausgeführt. Analog dazu eben auch Templates, und diverse Metadaten.

code11 hat geschrieben:Natürlich sollen Text je nach "clang" übersetzt werden. Ich habe mir das OutputFilter Addon angeschaut. Aber ich bin der Meinung, dass für Übersetzungen ein preg_replace überdimensioniert wäre. Ich will hier gern ein simples Sprach-Array erstellen...

Gibt diverse denkbare Methoden eine frontend clang Übersetzung hinzubekommen.. über den OPF zu gehen ist imho die leichtfüßgste. Bezügl. Performance braucht man sich imho keinen Kopf machen (es sei denn man hat ne zu komplexe regex).. zwar wirst du sicher auch andere Meinungen dazu hören, aber aus dem RL eines aktuellen Projektes: Übersetzung per OPF über den gesammten page output mit bis zu 60 matches (incl. Rekursionen): um 1ms.. sprich: paßt für uns. ;) Als Platzhalter verwenden wir [translate:foobar] , der replace code ist in etwa der hier (hier wird auf das REX'sche i18n gesetzt, irgendein privates array geht aber analog..):


code11 hat geschrieben:Wie kann ich im Template eine Variable definieren, und diese ebenfalls auch in Modulen abrufen können. Auf Anhieb hat es nicht geklappt. $_SESSION variablen gehen natürlich...

Die imho sicherste Nummer ist es $REX dafür zu nehmen.. sprich $REX['my_key'] = blah.. Einzelne vars können zum einen schnell mal überschrieben werden, bzw. probs bezügl. Kontext machen. $REX wird eh schon an vielen Stellen global gesetzt, und wenns im eigenen Kontext nicht ist, dann setzt man das eben und gut.
vg, Jan

@Github | rexdev.de | RexSEO Wiki |RexSEO Support Checklist | "You start with some money.."
mark your solved threads [SOLVED]™ & use [CODE=php] promotion tour..
Benutzeravatar
jdlx
 
Beiträge: 2479
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg

Re: Template vs. Modul

Beitragvon code11 » 21. Jul 2012, 15:20

Danke für die ausführlichen Infos...
code11
 
Beiträge: 26
Registriert: 20. Jul 2012, 01:31


Zurück zu Allgemeines [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste