HTML Output "strippen" / "komprimieren"

Gesperrt
hes
Beiträge: 44
Registriert: Di 3. Jan 2006, 17:01
Kontaktdaten:

HTML Output "strippen" / "komprimieren"

Beitrag von hes »

Moin,

ich möchte gerne über eine Variable im Mandantenverzeichnis den erzeugten HTML-Output von unnützen Zeichen bereinigen lassen. Ich finde aber die Stelle zur Template-Ausgabe nicht, an der ich ansetzen könnte.

Die Suche hier im Forum hat mir keinen Lösungsansatz gezeigt - aber evtl. habe ich auch nur mit falschen Suchwörtern gesucht. Würde mich freuen, wenn hier jemand mich auf den richtigen Pfad bringen könnte :-)

Was will ich?
Alle doppelte Leerzeichen, TABs, Zeilenumbrüche aus dem HTML-Code kurz vor dem HTML-Output ab dem <Body>-Tag entfernen, sodass der Quellcode kompakt, schmal und somit schneller über die Datenleitung übertragen wird. Dieses über eine Variable in Mandanteneinstellungen gesteuert, damit bei Fehler im HTML-Sourcecode auch mal kurz diese Funktion deaktiveren werden kann, um den Quelltext analysieren zu können.

An welcher Stelle in Contenido kann ich mein str_replace ansetzen - oder gibt's so eine Funktion schon irgendwo in Contenido? Ich habe dazu leider im Source nichts gefunden, wobei diese Funktion eigentlich ziemlich nützlich wäre.

Danke für die Hilfe...
Mfg. hes
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

Komprimieren wäre schon der bessere Ansatz: also den Ouput per mod_gzip, mod_deflate (wenn man einen Apache nutzt) o.ä. zu komprimieren. Dafür könnte man natürlich auch eine PHP-Variante nutzen. Der Erfolg sollte recht ordentlich ausfallen.
Etwas in der Art habe ich hier mal gepostet:

http://www.contenido.org/forum/viewtopi ... 9786#89786

Allerdings würde es dann reichen folgende Änderungen durchzuführen (Zeilennummer bezieht sich auf die 4.6.15):

front_content.php (Zeile 884):

Code: Alles auswählen

			eval ("?>\n".$code."\n<?php\n");
ersetzen zu:

Code: Alles auswählen

      ob_start();
      eval("?>\n".$code."\n<?php\n");
      $exec_php_str = ob_get_contents();
      ob_end_clean();
		  
      $compressOutput = getEffectiveSetting('output', 'gzip', "false");
      if ($compressOutput == "true") ob_start(ob_gzhandler);
      echo $exec_php_str;
Nun kann man per System-/Mandanteneinstellung gzip-Komprimierung für das Frontend anschalten über:

Code: Alles auswählen

output  gzip  true
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Ansonsten gäbe es m.W. auch noch einen Output-chain, den man via Plugin um eigene Funktionen erweitern kann. Vermutlich finden sich da unter docs/techref Informationen.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

HerrB hat geschrieben:Ansonsten gäbe es m.W. auch noch einen Output-chain, den man via Plugin um eigene Funktionen erweitern kann.
Die gibt es IMO noch nicht in der 4.6.15, deshalb habe ich ja auch mal eine gebaut (siehe Link oben). Da könnte man natürlich auch ansetzen.
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Ah, dann muss ich das mal bei Gelegenheit einbauen... :wink:

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Gesperrt