[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
rex_form apply-URL - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
helga
Beiträge: 137
Registriert: 17. Apr 2007, 14:48
Kontaktdaten: Website

rex_form apply-URL

12. Mär 2010, 12:09

Hallo,

innerhalb eines Addons für rex_form habe ich den Button Löschen.
Wenn ich dort klicke, wird mir der eine DB-Eintrag welchen in in rex_form() übergeben habe gelöscht. Nun muß ich aber gleichzeitig diverse andere Einträge in anderen Tabellen mit löschen und da wollte ich beim Absenden des Formulars diverse Parameter mit übergeben, wo dies dann mit gelöscht wird.

Leider werden beim klicken die func=edit nicht mit richtig übergeben, sodass die URL danach so aussieht:

index.php?page=ip_symcon&subpage=&func=&list=...&objectID=41016&form=..._msg=Eingaben%20wurden%20gelöscht!&

also bei func= steht kein edit dahinter und die anderen Werte werden als GET mit dahinter angefügt. Im rex_form habe ich aber POST angegeben und das einzelne Löschen funktioniert auch.

Habe auch schon diese versucht:
$form->setApplyUrl(array('func' => 'edit', 'instanceID' => '123' ));
aber er springt da nicht ins edit rein, wo dann die weitere bearbeitung gemacht werden kann.

helga
Beiträge: 137
Registriert: 17. Apr 2007, 14:48
Kontaktdaten: Website

15. Mär 2010, 18:43

hmm...

habe in der rex_form-Klasse dies gefunden:

Code: Alles auswählen

function preDelete($fieldsetName, $fieldName, $fieldValue, &$deleteSql)
  {
    return $fieldValue;
  }
aber das hat ja keine Funktion, wenn hier nur das $fieldValue zurück gegeben wird.

Gibts denn keine Möglichkeit, dass ich in der Forum noch weitere Daten aus anderen Tabellen gleich mit löschen kann?

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

15. Mär 2010, 18:48

Hallo Helga!

Vielleicht solltest du hier lieber mit MySQL arbeiten und die Möglichkeiten, die ON DELETE CASCADE bietet.

Warum die das Formular die Daten nicht richtig übergibt, kann ich nicht sagen. Wie sieht denn der Code aus?
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

helga
Beiträge: 137
Registriert: 17. Apr 2007, 14:48
Kontaktdaten: Website

15. Mär 2010, 19:23

habe ganz einfach die vorhandenen Funktionen genutzt:

Code: Alles auswählen

      $form_name = 'Kategorie-Daten';
      if($func == 'deletet') echo 'gelöscht';
      $form = new rex_form('rex_sym_category',$form_name,"id=".$id,"post",false);
      $form->setApplyUrl(array('func' => 'edit', 'instanceID' => '123' ));      
      $el =& $form->getControlElement(); 
      $el->saveElement = null; 
      $field = &$form->addReadOnlyField('ID'); 
      $field->setLabel("Kategorie-ID"); 
      $field = &$form->addTextField('name'); 
      $field->setLabel("KategorieName"); 
      $field = &$form->addReadOnlyField('categoryID'); 
      $field->setLabel("IP-Symcon ID"); 
      $form->addParam('id', $id);
      $cat_name = $form->getParam('name');      
      $form->show();

selbst $form->getParam('name'); gibt mir hier nichts zurück, obwohl die Anzeige für $form->addTextField('name'); was zurück gibt.

Bräuchte hier den Wert aus 'name' für die Anzeige eines Breadcrumps.

Wenn ich wissen würde, in welchen teil der Datei er hinspringt, wenn man auf delete klickt, dann könnte ich anhand der ID auch selber die anderen Daten löschen.


habe da auch testweise die mit eingebunden in der Datei:

Code: Alles auswählen

if($func == "delete"){   
   
 
   $query = "UPDATE rex_sym_options SET plz = 10";
   $delsql = new sql;   
   $delsql->debugsql=0;   
   $delsql->setQuery($query);   
   $func = "categories";   
} 
aber dies wird auch nicht berücksichtigt.

Zurück zu „Allgemeines [R4]“