X-Form: Variable übergeben

Alles über die Anwendung und Entwicklung von AddOns.

Beitragvon darwin » 1. Aug 2008, 12:31

ich hab mal die class.xform.article.inc.php
etwas erweitert:

Code: Alles auswählen
<?php

class rex_xform_article extends rex_xform_abstract
{

   function enterObject(&$email_elements,&$sql_elements,&$warning,&$form_output,$send = 0)
   {
      $artikel = new rex_article;
      $artikel->setArticleId($this->elements[1]);
      $form_output[] = '<div class="article">' . $artikel->getArticle() . '</div>';
   
      if (isset($this->elements[2]) && $this->elements[2]=="REQUEST" && isset($_REQUEST[$this->elements[1]]))
      {
         $this->value = $_REQUEST[$this->elements[1]];
         $artikel = new rex_article;
         $artikel->setArticleId($this->value);
         $form_output[] = '<div class="article">' . $artikel->getArticle() . '</div>';
         
      }
   }
   
   function getDescription()
   {
      return "
            article -> Beispiel: article|article_id
      <br />   article -> Beispiel: article|job_id|REQUEST
      ";
   }

}

?>


somit kann man jetzt auch eine article(id) in die xForm per
URL-Übergabe einsetzten (oder so ;))

article|article_id (article_id fester Wert)
article|job_id|REQUEST (article|url_var|REQUEST)

Jetzt ist noch das Problem mit der Email.
Wie bekomm ich nun bestimmte $slice->getValue() des Artikels
in die email? ...

Code: Alles auswählen
if (isset($this->elements[2]) && $this->elements[2]=="REQUEST" && isset($_REQUEST[$this->elements[1]]))
      {
         $this->value = $_REQUEST[$this->elements[1]];
         $artikel = new rex_article;
         $artikel->setArticleId($this->value);
         $form_output[] = '<div class="article">' . $artikel->getArticle() . '</div>';
         
      }else
      
      {
         $this->value = $_REQUEST[$this->elements[1]];
         $slice = OOArticleSlice::getFirstSliceForArticle($this->value);
         $email_elements[$this->elements[1]] = $slice->getValue(1);
      }


funktioniert leider nicht ... :oops:

Danke schonmal. gruß Chris
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Beitragvon darwin » 1. Aug 2008, 13:14

hmm..
noch nicht ganz das Wahre:
Code: Alles auswählen
if (isset($this->elements[2]) && $this->elements[2]=="REQUEST" && isset($_REQUEST[$this->elements[1]]))
      {
         $this->value = $_REQUEST[$this->elements[1]];
         $artikel = new rex_article;
         $artikel->setArticleId($this->value);
         $form_output[] = '<div class="article">' . $artikel->getArticle() . '</div>';
         $form_output[] = '<input type="hidden" name="'.$this->elements[1].'" value="'.$this->value.'" />';
         //
         $email_elements[$this->elements[1]] = strip_tags($artikel->getArticle());
      }


soweit würde es schon funktionieren...

grz. Chris
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Beitragvon ssurfer » 5. Aug 2008, 16:28

Hi,

hab habe das ganze so geregelt und danach hast du es auch im Mail-Body drinnen.

Modulausgabe:
Code: Alles auswählen
//REX_VALUE[3] ist hierbei die Formularbeschreibung
$form_data =<<< EOT
REX_VALUE[3]
EOT;


Übergeben tue ich es in der Formularbeschreibung so:
Code: Alles auswählen
hidden|test|$title


Die Variabel $title habe ich in der Modulausgabe gefüllt. Wenn du aber REQUEST-Parameter nutzt und diese vor der Anzeige des Formular bereits vorhanden sind, sollte auch diese ersetzt werden.

Gruß

ssurfer
ssurfer
 
Beiträge: 170
Registriert: 21. Nov 2007, 09:36

Beitragvon darwin » 26. Aug 2008, 16:15

Hi ssurfer,

sorry, aber deinen Ansatz versteh ich nicht ganz.
Könntest du das evtl. noch ein wenig genauer beschreiben wei wo was .. :oops:

Danke. grz. Chris
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Varialbe wird nur in quelltext angelegt

Beitragvon nowjeremy » 1. Apr 2009, 20:14

Hey,

ich habe den Thread "X-Form Variable übergeben" wirklich genau studiert:) und die entsprechende Ergänzung in der class.xform.hidden.inc.php gemacht.
Leider wird trotzdem lediglich nur ein hidden feld im quelltext angelegt. wenn ich aber z.b. durch die mail oder text funktion zugreifen will, dann wird nur ###test### ausgegeben. Hat jemand vielleicht noch eine Idee, bzw wie habt ihr das Problem gelöst?
nowjeremy
 
Beiträge: 1
Registriert: 1. Apr 2009, 20:06

Vorherige

Zurück zu AddOns [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste