function modTestModule 4.3.2.1b

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 11. Nov 2003, 11:01

timo hat geschrieben:Soll ich dir heute abend nen Snapshot hinlegen? Ich hab dir das Doc als HTML gebastelt.
jetzt steht ich auf der leitung... snapshot gerne nur welches doc als html ?

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 11. Nov 2003, 11:08

translating contenido

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 11. Nov 2003, 11:17

ja bidde

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 11. Nov 2003, 12:54

emergence hat geschrieben:ich würde diese konstruktion verwenden (welche momentan definitiv nicht geht)

<?php

$value = CMS_VALUE[1];
echo "CMS_IMG[".$value."]";

?>
Mir persönlich wäre es am liebsten, wenn die CMS_VALUE-Sachen direkt als PHP-Variable eingebaut würden -> daß man im Modul z.b. mit

$CMS_VALUE[$var2]

darauf zugreifen könnte. Ich werd mal mit dem Jan darüber sprechen, ob das machbar wäre: Wäre mir dann am symphatischsten :)

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 11. Nov 2003, 13:35

timo hat geschrieben: mit $CMS_VALUE[$var2]
darauf zugreifen könnte. Ich werd mal mit dem Jan darüber sprechen, ob das machbar wäre: Wäre mir dann am symphatischsten :)
sieht intressant aus, jedoch damit habe ich an sich kein problem gehabt.
da diese werte bevor das modul output erzeugt wird ja sowieso ersetzt werden. (eine überschneidung der werte kanns ja dann durchaus geben pro container -> was mir auch immer egal war)

mir wäre wichtiger, dass eine konstruktion wie
CMS_IMG[$value] im output bereich funktionieren würde...

sonst hat man immer das problem mit dem modul kopieren...

man könnte damit relativ simpel auch eine art sagen wir mal eine art containersystem für seiten layouts machen. (zB: das modul der artikel sprengt irgendwie meine vorstellung von eleganter umsetzung dieser funktionalität)

mit diesem feature ausgestattet, könnte man wirklich jede spielerei simpelst umsetzen. -> der vorteil dieser methode wäre zusätzlich noch das die alten module alle noch laufen würden.

eine änderung von CMS_VALUE auf $CMS_VALUE[$var2] wird jede menge modul umstellungen benötigen - ein update oder upgrade auf ne neuere version wird dann etwas schwierig... -> diese funktionalität mit ner neuen variable (zb CMS_DYNVALUE) einzuführen birgt weniger risken.

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 14. Nov 2003, 13:47

ich hab mir jetzt mal die funktionsweise von input , output genau angesehen... und bin zum schluss gekommen das die verschachtelten konstruktionen (das sie möglich sind) kein bug ist...

begründung: (das wird ein super satz !!)
sämtliche CMS_VALUE werte im input werden mittels replace sowieso im output bereich ersetzt bevor die con_type werte ersetzt werden !

was nicht geht -> und womit du recht hast -> und was wirklich nicht gehen darf -> ist eine syntax wie CMS_VALUE[CMS_VALUE[1]]

was auf grund der umsetzung gehen muss (und auch geht) -> CMS_TEXT[CMS_VALUE[1]]

sämtliche CMS_VALUE werte werden auf gut deutsch nur für search und replace verwendet !

wenn ihr das ändern wollt viel spass :-)

was meinst du dazu ?

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mo 8. Dez 2003, 17:17

okay, der letzte bug den ich jetzt noch rausgekickt habe betrifft ersetzungen von ]] durch ein einzelnes ]
reguläre ausdrücke sind wirklich genial sobald man sie mal verstanden hat ;-)

zusätzlich hab ich die verschachtelung jetzt korrigiert so das sie korrekt funktioniert...

der alte code:

Code: Alles auswählen

    $code = str_replace('[CMS_VALUE[','[', $code);
    for ($i = 0; $i < 10; $i++) {
       $code = str_replace('['.$i.'CMS_VALUE[','['.$i, $code);
    }
    $code = str_replace(']]',']', $code);
fliegt komplett raus...

der neue code übernimmt die komplette funktionsweise + behebt den bug mit ]] bei anderen verschachtelten funktionen...

Code: Alles auswählen

    $code = preg_replace(',\[(\d+)?CMS_VALUE\[(\d+)\](\d+)?\],i', '[\1\2\3]', $code);
folgendes -> dies ist jetzt wirklich nur dafür gedacht das konstruktion wie

Code: Alles auswählen

<?php echo "<img src=\"CMS_IMG[CMS_VALUE[2]]\" border=\"0\">"; ?>
<?php echo "<img src=\"CMS_IMG[1CMS_VALUE[2]]\" border=\"0\">"; ?>
<?php echo "<img src=\"CMS_IMG[CMS_VALUE[2]3]\" border=\"0\">"; ?>
funktionieren
die ziffern vor und nach CMS_VALUE[1] sind optional, können aber mehrfach vorkommen !!

der ersetzte code sieht dann nur mehr so aus: zb
CMS_IMG[1CMS_VALUE[2]3] -> CMS_IMG[123]

für pos 1 und pos3 buchstaben einzugeben wird als fehler ausgewiesen !!

lg

Gesperrt