Manipulation Page-Output

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
Antworten
Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Manipulation Page-Output

Beitrag von MrNiceGuy » 27.06.2009, 19:15:25

Nun habe ich mal wieder 2 kleine Punkte, an denen ich dich Teil haben lassen möchte ;)

- Ich habe im Code gesehen, dass bei einer FC-gesteuerten Webseite keine Möglichkeit vorhanden ist, den transformierten Quellcode mit einer posttransform-Action zu manipulieren. Das finde ich persönlich insofern unschön, als dass es einem die Möglichkeit raubt, Actions zu definieren, die im Nachhinein z.B. Leerzeichen/-zeilen aus dem Quellcode entfernen sollen. Mir ist nämlich aufgefallen, dass es viele solche Zeilen gibt, da scheinbar jede Zeile mit TagLib eine Leerzeile im HTML-Code nach sich zieht. Um den dadurch resultierenden Traffic bei großen Seiten zu minimieren, wäre eine posttransform-Action toll, um das nachträglich zu entfernen (um nur ein Beispiel zu nennen). Deshalb meine Frage: Kann der transformierte Quellcode den entsprechenden Actions als Referenz zur Verfügung gestellt werden, um die Größe des HTML-Codes zu reduzieren? Oder ist das auf Umwegen bereits jetzt möglich und ich weiß nur nicht wie!?
- Wie ist es am Einfachsten möglich, Variablen der Sprache angepasst zu übergeben, intern jedoch nur "eine" Variable zu benutzen? Beispiel: Aus /Seite/Testseite_12 wird intern automatisch /page/Testseite_12 eben in Abhängigkeit der aktuell verwendeten Sprache?! Nur um mal ein Beispiel zu nennen.

MfG
Lutz
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: Manipulation Page-Output

Beitrag von dr.e. » 27.06.2009, 20:09:03

Hallo Lutz,

habe deinen Post nach FAQ verschoben, da ich denke, dass er dort am besten aufgehoben ist. Die Frage wird sicher noch mehrmals auftauchen.
Deshalb meine Frage: Kann der transformierte Quellcode den entsprechenden Actions als Referenz zur Verfügung gestellt werden, um die Größe des HTML-Codes zu reduzieren? Oder ist das auf Umwegen bereits jetzt möglich und ich weiß nur nicht wie!?
Natürlich! :geek: Dafür sind die Output-Filter da. Diese kannst du über die Registry definieren und der FC wendet diese auf den Output an. So kannst du bequem Leerzeilen entfernen, an Rewrite-Urls ein "/index.html" anhängen um SEO zu betrieben, ...

Die Dokumentation dazu findest du unter http://adventure-php-framework.org/Seit ... abe-Filter. Die Definition des Ausgabe-Filters kannst du in der index.php vornehmen. Dies findest du in Kapitel 6 auf der verlinkten Seite.
- Wie ist es am Einfachsten möglich, Variablen der Sprache angepasst zu übergeben, intern jedoch nur "eine" Variable zu benutzen? Beispiel: Aus /Seite/Testseite_12 wird intern automatisch /page/Testseite_12 eben in Abhängigkeit der aktuell verwendeten Sprache?! Nur um mal ein Beispiel zu nennen.
Dafür gibt es mehrere Möglichkeiten. Nutzt du für eine Applikation ein Model, kannst du dieses Verhalten in einer FC-Action verstecken. Die Doku-Seite z.B. hat eine "NavigateAction", die zunächst den Parameter "Seite" und anschließend "page" sucht und den Wert in die Model-Variable "PageName" setzt. Diesen kannst du dann an der relevanten Stelle immer mit diesem Namen auslesen. Solltest du dieses Verhalten in einem Document-Controller brauchen, kannst du dir eine Klasse/Methode schreiben, die die aktuelle Sprache (ist immer in $this->__Language verfügbar) als Parameter mitbekommt und dir dann á la

Code: Alles auswählen

if($his->__Language == 'en'){
   if(isset($_REQUEST['page'])){
      return $_REQUEST['page'];
   }
   return null;
} else {
   if(isset($_REQUEST['Seite'])){
      return $_REQUEST['Seite'];
   }
   return null;
}
den Inhalt des Parameters zurück gibt.

Ein Beispiel für eine Implementierung kannst du hier einsehen.

Ich hoffe, das hilft dir weiter.

Viele Grüße,
Christian
Viele Grüße,
Christian

Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Re: Manipulation Page-Output

Beitrag von MrNiceGuy » 27.06.2009, 20:39:10

Super, vielen Dank schonmal!

Ich werde mir das nochmal genauer anschauen in den nächsten Tagen, ist aber eigentlich eine Sache, die während der Entwicklung jetzt erstmal nicht so gravierend ist.

Was die Umschreibung der Attribute angeht, so ist es da schon interessanter und das werde ich wohl dann gleich mal in Angriff nehmen, zumal ich es auch variabel über die Sprachdateien handhaben möchte.

Sollte ich Probleme haben, melde ich mich nochmal :)
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Antworten

Wer ist online?

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