XForm mit Metainfos auffüllen

Alles über die Anwendung und Entwicklung von AddOns.

XForm mit Metainfos auffüllen

Beitragvon alexschuengel » 10. Feb 2012, 15:24

Hallo zusammen,

versuche verzweifelt Metainfos, wie z.B. den Seitenname, in eine von XForm verschickte E-Mail zu integrieren. Also als verstecktes input Feld im Formular.

Ziel/Hintergrund ist, dass der Mitarbeiter sehen soll, von welcher Seite aus das Formular verschickt wurde und über einzelne Metainfos hiflreiche Infos zur Kontaktanfrage bekommt.

Kann ich die Metainfos überhaupt in dieser Form übergeben?

Grüße Alex
Benutzeravatar
alexschuengel
 
Beiträge: 149
Registriert: 18. Mär 2008, 17:43

Re: XForm mit Metainfos auffüllen

Beitragvon Markus.Lorch » 10. Feb 2012, 15:37

Das geht. Aber nicht mit dem Formular-Builder. Da würde ich das Formular mit der normalen API als eigenständiges Modul aufbauen, eigenes PHP natürlich inklusive.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: XForm mit Metainfos auffüllen

Beitragvon Thomas.Blum » 10. Feb 2012, 15:41

Hej,

einfach neues Value anlegen und die Daten nach dem Klick auf Abschicken auslesen.

Bspl-Eingabe:

meta|label|field

field ist dann das Feld wie es unter metainfo angelegt ist, zum Bspl art_description.

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

Re: XForm mit Metainfos auffüllen

Beitragvon alexschuengel » 10. Feb 2012, 16:21

@Thomas: Hast du das selbst schon getestet? Bei mir funktioniert das nämlich nicht. Wäre auch zu schön gewesen, wenn man die Metainfos so einfach hätte in E-Mails integrieren können...
Benutzeravatar
alexschuengel
 
Beiträge: 149
Registriert: 18. Mär 2008, 17:43

Re: XForm mit Metainfos auffüllen

Beitragvon Markus.Lorch » 10. Feb 2012, 16:32

Thomas meint damit, dass Du dir unter /redaxo/include/addons/xform/classes/values eine eigene Klasse erstellst die genau diesen Job erledigt.

Schau Dir z.B. die bestehenden klassen hidden oder text an, dann bekommst Du ein grobes Verständnis wie xform hier funktioniert.

Ggf hier wieder nachfragen.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: XForm mit Metainfos auffüllen

Beitragvon Thomas.Blum » 10. Feb 2012, 16:33

Das klappt,

du musst die Daten dem ... ähm um welche XForm handelt es sich?

<edit>
Wie Markus beschrieben getestet ?
</edit>
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

Re: XForm mit Metainfos auffüllen

Beitragvon alexschuengel » 10. Feb 2012, 16:42

XForm Version: 2.8

Ok, dann verstehe ich das Prinzip und das es theoretisch möglich ist, aber wenn ich mir die *.inc.php angucke muss ich passen ;)

Soweit reicht mein PHP nicht mehr aus, um da die entsprechenden Daten auszulesen
Benutzeravatar
alexschuengel
 
Beiträge: 149
Registriert: 18. Mär 2008, 17:43

Re: XForm mit Metainfos auffüllen

Beitragvon Thomas.Blum » 10. Feb 2012, 17:17

Das als Datei class.xform.meta.inc.php abspeichern

Code ist jetzt mal nur so runter geschrieben. Teste mal einfach. <ins>Danke Markus für den Test.</ins> Aber so in die Richtung müsste es gehen.

Code: Alles auswählen
<?php
class rex_xform_meta extends rex_xform_abstract
{

   function enterObject()
   {
      global $REX;
      
      if ($this->getElement(2) != '')
      {
        $a = OOArticle::getArticleById($REX['ARTICLE_ID']);
        if (OOArticle::isValid($a))
        {
           $this->setValue($a->getValue($this->getElement(2)));
           $this->params['value_pool']['email'][$this->getName()] = $this->getValue();
          
          if ($this->getElement(3) != 'no_db')
          $this->params['value_pool']['sql'][$this->getName()] = $this->getValue();
        }
      }
  }
   
   function getDescription()
   {
      return 'meta -> Beispiel: meta|label|meta_info_field (art_description)|[no_db]';
   }
}


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

Re: XForm mit Metainfos auffüllen

Beitragvon Thomas.Blum » 10. Feb 2012, 19:10

Dank Markus, hab ich die Klasse noch einmal anpassen müssen.
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

Re: XForm mit Metainfos auffüllen

Beitragvon alexschuengel » 14. Feb 2012, 14:25

Hallo Thomas,

ich habe aus deinem Code die Datei class.xform.meta.inc.php erstellt und hochgeladen (redaxo/include/addons/xform/classes/value)

Dann habe ich mir ein Formular zusammenstellt und unter anderem
Code: Alles auswählen
meta|label|art_description
hinzugefügt. In der Hoffnung, dass in der E-Mail dann die meta description eingefügt wird.

Leider kommt in der E-Mail nur der Platzhalter ###label###

Mache ich einen (Gedanken)Fehler? Hatte den Eindruck, dass ihr das erfolgreich getestet hattet, oder?

Grüße Alex
Benutzeravatar
alexschuengel
 
Beiträge: 149
Registriert: 18. Mär 2008, 17:43

Re: XForm mit Metainfos auffüllen

Beitragvon Markus.Lorch » 14. Feb 2012, 14:40

Bist Du Dir ganz sicher, dass kein Typo drin ist? Wenn der Platzhalter erst gar nicht ersetzt wurde deutet das meistens darauf hin, das ein Feld das dieses label trägt nicht existiert. So wie die Klasse oben steht gehts bei mir.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: XForm mit Metainfos auffüllen

Beitragvon Thomas.Blum » 14. Feb 2012, 15:11

Hej,

es holt dir die Metainfos aus dem Artikel, wo auch das Form angelegt ist.

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

Re: XForm mit Metainfos auffüllen

Beitragvon alexschuengel » 14. Feb 2012, 15:14

@Thomas: Gedankenübertragung? ;)

Mein Fehler. Habe vergessen das Addon zu reinstallieren, nachdem ich die neue Datei hochgeladen hatte ;) Jetzt funktioniert es auch bei mir.

Allerdings entsteht daraus eine neue, logische, Frage. Ich setze das Formular auf sehr vielen ein, und hatte daher geklappt den Artikel mit dem Formular einfach per REX_ARTICLE [] in das Template einzubinden. Dann brauche ich das Formular nicht immer wieder neu zusammenstellen.

Das hat jetzt aber den Nachteil, dass mir natürlich immer nur der Seitentitel/Description des Ursprungartikels in die E-Mail gepackt wird, und nicht der Name der Seite von der das Formular aufgerufen wurde....

Kann ich das Formular irgendwie fest in das Template schreiben, damit der aktuelle Seitentitel verwendet wird?
Benutzeravatar
alexschuengel
 
Beiträge: 149
Registriert: 18. Mär 2008, 17:43

Re: XForm mit Metainfos auffüllen

Beitragvon Markus.Lorch » 14. Feb 2012, 15:31

Ich muss Thomas widersprechen ;)

Das Formular holt sich schon die Meta-Infos des Artikels, den der Besucher aufgerufen hat.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: XForm mit Metainfos auffüllen

Beitragvon alexschuengel » 14. Feb 2012, 15:35

aber nicht wenn ich das formular auf article x einbinde und diesen wiederum in ein template integeriere?!
Benutzeravatar
alexschuengel
 
Beiträge: 149
Registriert: 18. Mär 2008, 17:43

Nächste

Zurück zu AddOns [R4]

Wer ist online?

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