Willkommen, Gast ( Anmelden | Registrierung )     [ Hilfe | Mitglieder | Suche ]

 
Reply to this topicStart new topic
> Anleitung DeDi Module zu Sefrengo Module konvertieren
mistral
Beitrag 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 &amp; 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 '&amp' escaped werden. Aus
'meine_url.php?a=123&b=567' wird dadurch 'meine_url.php?a=123&amp;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)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 4.4.20 - 10:36

Sefrengo ist ein eingetragenes Markenzeichen und urheberrechtlich geschützt.
Copyright 2009 Design & Daten, Alle Rechte vorbehalten.