Contenido Extension Chainer

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Contenido Extension Chainer

Beitrag 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...
Zuletzt geändert von emergence am Mi 2. Feb 2005, 15:02, insgesamt 1-mal geändert.
*** make your own tools (wishlist :: thx)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag 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)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Re: Contenido Extension Chainer

Beitrag 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...
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag 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...
*** make your own tools (wishlist :: thx)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

dafür gibts glaube ich keine Möglichkeit...
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag 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 ?
*** make your own tools (wishlist :: thx)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag 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 ?
*** make your own tools (wishlist :: thx)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag 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.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag 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...
*** make your own tools (wishlist :: thx)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag 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 ;)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag 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...
*** make your own tools (wishlist :: thx)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag 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...
*** make your own tools (wishlist :: thx)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag 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
Antworten