Aktion aus alter Version in aktuelle Version übernehmen

Wie verwendet man Module oder Aktion und passt diese an.

Aktion aus alter Version in aktuelle Version übernehmen

Beitragvon stefan2 » 7. Nov 2011, 11:50

Hallo Leute

Ich möchte aus ein älteres Redaxo auf die aktuelle updaten. Dabei gibt es jetzt ein Problem mit den Aktionen zu einem Modul. Das Problem ist, dass ich nicht weiß, wie ich die alten Aktionen nun portieren kann und um es auch gleich zu erwähen, ich bin nicht Urheber des Moduls/Aktionen und habe sowieso nicht wirklich Plan von Redaxo. Ich will nur das Update machen.

Alte Version zwei Aktionen:
1.) rexname [PRE|ADD|EDIT]
2.) rexname [POST|ADD|EDIT]

Der Inhalt ist beide mal gleich
Code: Alles auswählen
<?php
   $newname = "";
   for ( $c = 0; $c < 99; $c++ ) {
      if (isset($rexname[$c])) { $newname .= $rexname[$c] . '~~'; }
      else { $newname .= '~~'; }
   }
   if ($REX_ACTION['VALUE'][1] != '') {
      $rexname = split('~~', $REX_ACTION['VALUE'][1]);
   } else {
      $REX_ACTION['VALUE'][1] = $newname;
   }
?>

Also es werden wohl alle Moduleingaben in einem Feld als Zeichenkette gesammelt.
In Ein- bzw. Ausgabe des Moduls wird die Zeichenkette dann wieder getrennt.
Code: Alles auswählen
$rexname = split("~~", "REX_VALUE[1]");


Ok, soweit verstanden. Nun habe ich die aktuelle Redaxo Version und da gibt es offensichtlicht bei den Aktionen gleich die Möglichkeit PRE/POST Programmcode in einer Aktion anzulegen.

Auch wenn ich den Sinn nicht verstehe, dass der Programmcode vor dem speichern und nach dem speichern ausgeführt werden soll habe ich folgendes gemacht.

Aktion angelegt mit Namen "rexname" (wie hängt der Name der Aktion damit zusammen? ) dann den Programmcode rein bei "PreSave" und bei "PostSave" und jeweils die Events ADD und EDIT aktiviert.

Wenn ich das Modul nun speichere hat das offensichtlich nicht geklappt bzw. es hat "irgendwie" geklappt den in REX_VALUE[1] stehen jetzt die 99 mal die Trennzeichen, also "~~".

Was stimmt daran nicht? Bin für jeden Hinweis dankbar.

ciao, Stefan
stefan2
 
Beiträge: 3
Registriert: 7. Nov 2011, 11:11

Re: Aktion aus alter Version in aktuelle Version übernehmen

Beitragvon stefan2 » 8. Nov 2011, 11:55

Hallo Leute,

ich habe das hier gefunden http://www.redaxo.org/de/doku/version-43/3-entwickler-und-admin/32-module-und-aktionen/323-aktionen/
Ist ja genau das was ich da habe. Nun habe ich meine Aktion korrigiert bzw. so eingebaut wie in dem Beispiel, klappt aber trotzdem nicht.

also bei preSave steht jetzt
Code: Alles auswählen
<?php
if( $REX_ACTION['VALUE'][1] == '')
{
    $newname = '';
    for( $c = 0; $c < 99; $c++ )
    {
        if( isset($rexname[$c] ) ) {
            $newname .= $rexname[$c] . '~~';
        } else {
            $newname .= '~~';
        }
    }
    $REX_ACTION['VALUE'][1] = $newname;
}
?>

Als Events ADD und EDIT

im Modul steht
Code: Alles auswählen
$rexname = split("~~","REX_VALUE[1]"); $GLOBALS['rexname'] =$rexname;


Nur es stehen ausser den Trennzeichen "~~" nix drin in $rexname.

Ich komm nicht drauf... Wie soll das funktionieren? Wo kommt z.B. das Array $rexname her in der Aktion? Kann mich mal jemand herhellen. Danke.

ciao, Stefan
stefan2
 
Beiträge: 3
Registriert: 7. Nov 2011, 11:11

Re: Aktion aus alter Version in aktuelle Version übernehmen

Beitragvon frag-seb » 8. Nov 2011, 16:09

Benutzeravatar
frag-seb
 
Beiträge: 83
Registriert: 27. Sep 2011, 16:53

Re: Aktion aus alter Version in aktuelle Version übernehmen

Beitragvon stefan2 » 8. Nov 2011, 17:32

Hey Jochen!

Tausend Dank, klappt wunderbar. Seite und Videos sind in den Lesezeichen. Trotzdem erschließt sich mir noch nicht ganz warum vor _und_ nach dem speichern der Programmcode ausgeführt werden soll. Aber OK, man muß nicht alles kapieren.

adios, Stefan
stefan2
 
Beiträge: 3
Registriert: 7. Nov 2011, 11:11

Re: Aktion aus alter Version in aktuelle Version übernehmen

Beitragvon Thomas.Blum » 9. Nov 2011, 13:20

Hej,

stefan2 hat geschrieben:Trotzdem erschließt sich mir noch nicht ganz warum vor _und_ nach dem speichern der Programmcode ausgeführt werden soll.


dann lass mal das POST weg, damit du siehst was passiert.

vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden


Zurück zu Module/Aktionen [R4]

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 1 Gast