Anleitung DeDi Module zu Sefrengo Module konvertieren |
Willkommen, Gast ( Anmelden | Registrierung ) [ Hilfe | Mitglieder | Suche ]
Anleitung DeDi Module zu Sefrengo Module konvertieren |
Wed. 28. June 2006, 21:16
Beitrag
#1
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 343 Mitglied seit: 26.06.2006 Wohnort: CH Mitglieds-Nr.: 5 |
Kurzfassung:
Eigentlich ganz einfach, damit dürften 99% aller Module wieder funktionieren: # "<cms:mod" statt "<dedi:mod" # "$cms_mod" statt "$dedi_mod" # "$cms_side" statt "$dedi_side" # "$cfg_cms" statt "$cfg_dedi" # "dedi" in Arraykeys/ Variablennamen meist "cms" (z.B. $cfg_cms['cms_path'] statt $cfg_dedi['dedi_path']) # "htmlentities($wert, ENT_COMPAT, 'utf-8')" statt "htmlentities($wert)" # "htmlspecialchars($wert, ENT_COMPAT, 'utf-8')" statt "htmlspecialchars($wert)" # $sess->url($url), wenn GET- Parameter mit & verknüpft werden sollen # $sess->urlRaw($url), wenn GET- Parameter mit einem einfachen & verküpft werden sollen # Der Name der Backend Session $sess->name ist "sefrengo" # werden per GET, POST Parameter übergeben, die Sonderzeichen enthalten könnten, sind diese mit der WebRequest Klasse abzugreifen. Beispiel: QUELLTEXT // $_POST['testval'] oder $_GET['testval'] werden gesucht $sf_wr =& $GLOBALS['sf_factory']->getObject('HTTP', 'WebRequest'); $extracted = $sf_wr -> getVal('testval'); echo $extracted; //testval wird im richtigen Zeichensatz (utf-8) ausgegeben Ausführlichere Infos: Selbst erstellt Module für Sefrengo fit zu machen ist keine Zauberei. Es soll hier kurz aufgezeigt werden, was bei einem Modulupdate zu beachten und wo Hand anzulegen ist. Danach dürfte der Großteil der Module wieder problemlos laufen. Gegenüber dem Vorgängersystem gibt es in Sefrengo drei elementare Unterschiede, die hier kurz vorgestellt werden sollen. 1) Das System arbeitet intern ausschließlich mit dem Zeichnsatz "UTF-8". Dies führt dazu, dass innerhalb von Modulen die Funktionen htmlentities() und htmlspecialchars() dies auch mitgeteilt werden muss. Das ist ganz einfach, indem die Funktion htmlentities($wert) in htmlentities($wert, ENT_COMPAT,‘UTF-8’) oder auch htmlspecialchars($wert) in htmlspecialchars($wert, ENT_COMPAT, ‘UTF-8’) umgewandelt wird. 2) Sefrengo ist darauf optimiert, XHTML validen Inhalte zu erzeugen. Gerade bei der Erstellung von URLs kann dies zu Problemen führen, wenn mehrere Parameter per GET in einer URL übergeben werden. Für einen syntaktisch korrekten Link muss der '&' Trenner zwischen den einzelnen Parametern korrekt als '&' escaped werden. Aus 'meine_url.php?a=123&b=567' wird dadurch 'meine_url.php?a=123&b=567'. Um valide Links erzeugen zu können, haben wir innerhalb des CMS die Methode $sess->url() so modifiziert, das immer XHTML valide Links mit korrekten Trennern erzeugt werden. Wer Links ohne escapete Zeichen z.B. für einen Headerredirect benötigt, kann dazu die neue Methode $sess->urlRaw() benutzen. Diese entspricht im Verhalten der Methode $sess->url() des Vorgängersystems. 3) Im CMS Kern wurden alle Variablen, Arrays und Objekte umbenannt, welche das Prefix des Vorgängersystems ('dedi') im Namen hatte. Dieses wurde durch das neutrale Prefix 'cms' ersetzt. Beispiel: $cfg_cms, $cms_db, $cms_mod, ... . Auch die CMS-Tags im Layout und innerhalb der Module wurden auf das neue Prefix umgestellt. Beispiel: <cms:lay ... />, <cms:mod ... /> Zu beachten ist weiters, dass die Backendsession nun auf den Namen 'sefrengo' hört, Module, welche auf die Backendsession prüfen müssen daher angepasst werden . Beispiel: if($sess->name == 'sefrengo'){/* foo */} Der Beitrag wurde von mistral bearbeitet: Wed. 28. June 2006, 21:17 -------------------- So einfach wie möglich, aber nicht einfacher!
(Albert Einstein) |
|
|
Vereinfachte Darstellung | Aktuelles Datum: 26.9.24 - 23:46 |