Seite 1 von 1
Contenido Extension Chainer
Verfasst: Mi 2. Feb 2005, 14:48
von emergence
hab mir das gerade ein wenig angesehen... nette idee
ähm wo werden bitte die benutzerdefinierten funktionen hingespeichert ?
das konnte ich irgendwie nicht herausfinden...
in der doku steht zwar was von config.chains.plugin.php, was zwar recht nett und schön ist, aber wo wird die datei nachgeladen die die einzelne funktion beinhaltet ?
na wie auch immer, es fehlt mir da was damit das wirklich elagant zum arbeiten ist...
nett wäre eine funktion innerhalb der klasse die sämtliche registrierten funktionen einfach nur auflistet...
ein
Code: Alles auswählen
print_r($_cecRegistry->_aChains["Contenido.Content.SaveContentEntry"]["functions"]);
wäre irgendwie ne zumutung...
Verfasst: Mi 2. Feb 2005, 14:58
von timo
hmm ich bin mir gerade nicht sicher, ob es wirklich noch die config.chains.plugin.php gibt, aber im Regelfalle dürfte jedes config-File auch funktionieren (z.b. config.plugin.php)
Re: Contenido Extension Chainer
Verfasst: Mi 2. Feb 2005, 15:16
von timo
emergence hat geschrieben:na wie auch immer, es fehlt mir da was damit das wirklich elagant zum arbeiten ist...
nett wäre eine funktion innerhalb der klasse die sämtliche registrierten funktionen einfach nur auflistet...
ein
Code: Alles auswählen
print_r($_cecRegistry->_aChains["Contenido.Content.SaveContentEntry"]["functions"]);
wäre irgendwie ne zumutung...
Hmm dafür gibt es doch den Iterator...das ist, soweit ich mich erinnere, in der conSaveContent eingebaut worden...
Verfasst: Mi 2. Feb 2005, 15:22
von emergence
ähm wie ? in der conSaveContent ?
da wird er iterator dazu verwendet die einzelnen funktionen innerhalb der kette abzuarbeiten...
sorry aber da gibts nicht was mir die registrierten funktionen als array zurückliefert... ich meine ich will zb die namen der funktionen sehen...
so ne art debug funktion...
Verfasst: Mi 2. Feb 2005, 15:23
von timo
dafür gibts glaube ich keine Möglichkeit...
Verfasst: Mi 2. Feb 2005, 15:29
von emergence
timo hat geschrieben:dafür gibts glaube ich keine Möglichkeit...
wär' aber ganz nett so ne kleine debug funktion...
ergibt ja auch sinn... so kann man zumindestens die reihenfolge checken in der die einzelnen funktionen abgearbeitet werden... (ich weiss lt. doku muss jede eigenständig sein, zum debuggen wird es aber sonst ne katastrophe)
abgesehen davon kann man überprüfen ob eine vergessen wurde, die man einbinden wollte...
im prinzip hab ich das ganze ja verstanden... mal sehen wozu ich das einsetzen kann...
ähm ach ja
wo ist den überall geplant das diese funktionalität eingebaut wird ?
in jeder funktion ?
Verfasst: Mi 2. Feb 2005, 15:37
von emergence
ach ja ich versteh da einen satz der doku nicht genau...
Chain functions may not interfere with other chain functions in the same chain.
-> Kettenfunktionen können möglicherweise nicht andere Kettenfunktionen in der gleichen Kette behinderen ???
ähm, heisst was ?
Verfasst: Mi 2. Feb 2005, 15:46
von timo
emergence hat geschrieben:-> Kettenfunktionen können möglicherweise nicht andere Kettenfunktionen in der gleichen Kette behinderen ???
Ähm nein...übersetzt würde es so lauten:
Kettenfunktionen dürfen sich nicht gegenseitig behindern. Beispiel: Man baut eine Kettenfunktion, die ein addslashes auf den Content macht. Das wäre eine Behinderung der nächsten Funktion, da diese nicht erwartet, daß eine vorherige Kettenfunktion ein addslashes macht.
Geplant ist nichts, das wird bei uns verwendet, wenn ein Kunde Anforderungen hat, die eine Änderung von Contenido zur Folge hätte. D.h. wenn du eine Chain irgendwo brauchst, gib einfach bescheid, dann schaun wir ob wir die einbauen können.
Verfasst: Mi 2. Feb 2005, 15:54
von emergence
ach so alles klar...
ist ja wirklich ein nettes feature...
savecontent ist somit ne schnittstelle um html säuberungen durchführen zu können...
und das bei upload könnte man nützen um einen automatischen resize der bilder beim upload durchzuführen...
wenn ihr noch so etwas in der front_content.php für code einbaut,
hat man im prinzip kein problem mehr input output manipulationen durchzuführen...
Verfasst: Mi 2. Feb 2005, 15:59
von timo
genau dafür war das mal gedacht - aber leider weiß ich grade kein praktisches Beispiel
wobei das im "neuen" Contenido kein Problem mehr sein

Verfasst: Mi 2. Feb 2005, 18:00
von emergence
ich werd mich ein wenig damit spielen...
mit der namenskonvention werd' ich mich noch etwas auseinandersetzen müssen... ist ein wenig unflexibel...
so ist das beim ersten mal ansehen doch etwas verwirrend...
aber ansonsten ja... je länger ich mir das ansehe finde ich das ganze eigentlich sehr elegant...
Verfasst: Sa 2. Jul 2005, 17:30
von emergence
muss das wieder ausgraben...
hab mir mal den array angesehen...
Code: Alles auswählen
cApiCECRegistry Object
(
[_aChains] => Array
(
[Contenido.Frontend.CategoryAccess] => Array
(
[parameters] => Array
(
[0] => Contenido.Frontend.CategoryAccess
[1] => int
[2] => int
[3] => string
)
[functions] => Array
(
)
)
)
)
ähm bei parameters -> [0] => Contenido.Frontend.CategoryAccess
kann das richtig sein ?
class.cec.php findet sich
Code: Alles auswählen
function registerChain ($sChainName)
{
$aParam = array();
$iNumArgs = func_num_args();
for ($iCount = 0; $iCount < $iNumArgs; $iCount++)
{
$aParam[$iCount] = func_get_arg($iCount);
}
$this->_addChain($sChainName, $aParam);
}
sollte das nicht auf $iCount = 1; gesetzt werden ?
der array würde dann so aussehen
Code: Alles auswählen
cApiCECRegistry Object
(
[_aChains] => Array
(
[Contenido.Frontend.CategoryAccess] => Array
(
[parameters] => Array
(
[1] => int
[2] => int
[3] => string
)
[functions] => Array
(
)
)
)
)
was ich eigentlich für richtiger halten würde...
Verfasst: Sa 2. Jul 2005, 18:34
von timo
naja kommt drauf an...eigentlich hast du recht
aber derzeit werden die Parameter ja rein für informative Zwecke verwendet, d.h. es wird da nicht wirklich geprüft ob der Parameter-Typ stimmt