Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: [GELÖST] Kontaktformular-Modul soll Content lesen

[GELÖST] Kontaktformular-Modul soll Content lesen 08 Jul 2015 16:15 #2970

  • myscy
  • myscys Avatar
  • OFFLINE
  • Beiträge: 13
  • Dank erhalten: 3
Hallo Leute,

ich möchte in einem Produktkatalog (in der Content View) ein Kontaktformular (als Site Form) einbetten.

Der Empfänger der E-Mailbenachrichtigung soll wissen, zu welchem Produkt die Anfrage erfolgte (Produkt ID, URL der Website o.ä.). <= Hier komme ich nicht weiter :(

Folgende Strukturen liegen vor:
  1. Ein F&C Type "Produkt" inkl. einer eigenen "Produkt ID" (Textfeld)
  2. Ein F&C Type "Kontaktformular"
Das Kontaktformular habe ich als Modul in die Content-Ansicht eingebettet (SEBLOD® Field type: Joomla! > Module). Das Formular funktioniert auch perfekt.

Jetzt möchte ich am liebsten aus dem Kontaktformular heraus auf den Inhalt des Feldes "Produkt ID" aus dem F&C Type "Produkt" zugreifen. Den Wert des Feldes würde ich dann in der E-Mailbenachrichtigung mitschicken.

Wenn das so nicht möglich ist, bräuchte ich etwas Ähnliches zur Identifikation des Produkts, z.B. die vollständige URL der Produktansicht oder sowas in der Art.


Leider habe ich bisher nichts passendes zu dem Thema gefunden und bin für jeden Tipp und jede Idee dankbar!

Viele Grüße
myscy
Letzte Änderung: 09 Jul 2015 00:41 von myscy.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

SEBLOD™ Kontaktformular (Modul) soll Content lesen 08 Jul 2015 17:41 #2971

  • time4mambo
  • time4mambos Avatar
  • OFFLINE
  • Mal gucken ob was passiert...
  • Beiträge: 913
  • Dank erhalten: 177
Wenn du im eMail-Text deine Felder mit Rauten einfasst, kannst du deren Inhalte entsprechend einbinden. Beispielsweise:
Lieber Admin,
ein Kunde interessiert sich für das Profukt: #feld_mit_produktname#. Bitte kontakte den Kunden #feld_mit_kundennamen# und bestell ihm schöne Grüße von mir.

Was ist "F&C"?


Axel
Das SEBLOD®-Handbuch auf Amazon
Tutorials zu Joomla und MS-Office: www.time4joomla.de
Letzte Änderung: 08 Jul 2015 17:43 von time4mambo.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

SEBLOD™ Kontaktformular (Modul) soll Content lesen 08 Jul 2015 17:45 #2972

  • myscy
  • myscys Avatar
  • OFFLINE
  • Beiträge: 13
  • Dank erhalten: 3
Hallo Axel,

danke für deine Antwort. So habe ich auch die anderen Felder in die E-Mailbenachrichtigung aufgenommen (#absender_name#, #absender_email#, usw.) und das funktioniert bestens.

Allerdings möchte ich hier auch das feld #prudukt_id# aufnehmen. Dieses ist aber nicht im F&C Type "Kontaktformular" gespeichert, sondern im F&C Type "Produkt". Und da komme ich aus dem Kontaktformular irgendwie nicht dran :(
Letzte Änderung: 08 Jul 2015 17:48 von myscy.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

SEBLOD™ Kontaktformular (Modul) soll Content lesen 08 Jul 2015 18:10 #2974

  • time4mambo
  • time4mambos Avatar
  • OFFLINE
  • Mal gucken ob was passiert...
  • Beiträge: 913
  • Dank erhalten: 177
Jetzt habe ich mal geraten, dass du mit "F&C" "Forms and Content" meinst? Da ich ja mit einem deutschen Backend arbeite, ist mir das, ehrlicherweise, nicht ganz klar...

Aber wie dem auch sei, musst du nun eine SQL-Abfrage machen. Da könnte dir der kostenlose Databaser von SEBLOD®.com helfen. Benutze auch mal die Suche hier zu diesem AddIn.


Axel
Das SEBLOD®-Handbuch auf Amazon
Tutorials zu Joomla und MS-Office: www.time4joomla.de
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Folgende Benutzer bedankten sich: myscy

SEBLOD™ Kontaktformular (Modul) soll Content lesen 08 Jul 2015 18:29 #2975

  • myscy
  • myscys Avatar
  • OFFLINE
  • Beiträge: 13
  • Dank erhalten: 3
Ja, genau. Mit F&C meinte ich Forms and Content Type.

Ah, OK. Der SD Databaser sieht interessant aus. Ich schau mir das Plugin an und bereichte, ob es funktioniert hat.

Ich dachte, es würde mit den ausgelieferten Boardmittel auch irgendwie gehen.
Sonst hätte ich versucht, die Joomla-Articel-ID aus der URL auszulesen (Stichwort Live > Variable) und daraus den Link zum Joomla-Artikel manuell zu basteln und dem Empfänger zum Nachschlagen zu schicken.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

SEBLOD™ Kontaktformular (Modul) soll Content lesen 08 Jul 2015 19:02 #2976

  • time4mambo
  • time4mambos Avatar
  • OFFLINE
  • Mal gucken ob was passiert...
  • Beiträge: 913
  • Dank erhalten: 177
Du kannst dir beim Aufruf der Suche die "Var" ausgeben lassen. Also beispielsweise eine ID, die im Link steht. Das geht sehr wohl.
Eventuell kannst du auch mit dem dynamischen Feld arbeiten, weil du dort eine SQL-Anweisung eingeben kannst und eine entsprechende Ausgabe somit generieren kannst, die dann in deinem aktuellen Formular benutzt werden kann.


Axel
Das SEBLOD®-Handbuch auf Amazon
Tutorials zu Joomla und MS-Office: www.time4joomla.de
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Folgende Benutzer bedankten sich: myscy

SEBLOD™ Kontaktformular (Modul) soll Content lesen 09 Jul 2015 00:40 #2977

  • myscy
  • myscys Avatar
  • OFFLINE
  • Beiträge: 13
  • Dank erhalten: 3
Toller Tipp, Axel! Danke!

Damit habe ich das Problem gelöst :-)

Mein Vorgehen:
  1. Dynamisches Feld (DF) angelegt.
    (Select Liste mit "text" und "value") <-Screenshot #1

  2. DF holt sich alle Produkt-IDs
    (Produkt-ID = text; Joomla-ID = value).<- Screenshot #3

  3. Über Live-Value wird die Joomla-ID aus der aktuellen URL ausgelesen. <- Screenshot #2

  4. Joomla-ID selektiert die aktuelle (gesuchte) Produkt-ID aus der Select Liste.

  5. Der Wert des DFes entspricht der Produkt-ID der aktuellen Produktseite :)

  6. Der Wert des DFes (sowie der Produkttitel und die URL zur Produktseite) wird in die E-Mailbenachrichtigung eingebunden (#dynamisches_feld#) <- Screenshot #4

Faszinierend, was man mit den Bordmitteln von SEBLOD® alles hinbekommt :)
Letzte Änderung: 09 Jul 2015 00:59 von myscy.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Folgende Benutzer bedankten sich: time4mambo

SEBLOD™ Kontaktformular (Modul) soll Content lesen 09 Jul 2015 16:14 #2979

  • myscy
  • myscys Avatar
  • OFFLINE
  • Beiträge: 13
  • Dank erhalten: 3
Das Ganze kann auch mit "Feld 42" (PrepareForm) realisiert werden.

Ich denke, dass diese Lösung etwas performanter ist, oder?

Gerade bei größeren Datenbeständen muss nicht erst die gesamte Artikelliste aus der DB in das dynamische Feld geladen werden, um anschließend nur EINEN einzigen Wert zu selektieren.
Anhang:
Letzte Änderung: 09 Jul 2015 16:24 von myscy.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

[GELÖST] Kontaktformular-Modul soll Content lesen 09 Jul 2015 17:20 #2980

  • time4mambo
  • time4mambos Avatar
  • OFFLINE
  • Mal gucken ob was passiert...
  • Beiträge: 913
  • Dank erhalten: 177
Das ist mit Sicherheit eine sehr gute Lösung, erfodert aber Programmierwissen, was beim dynamischen Feld nicht erfoderlich ist.

Wenn du eine SQL-Abfrage machst, dann wird aber nicht die ganze DB irgendwohin geladen. Der DB-Zugang ist ohnehin immer da, wnen du mit Joomla arbeitest. SQL sucht nur gemäß der Abfrage die Datensätze zusammen und zeigt diese an, bzw. verwertet sie.


Axel
Das SEBLOD®-Handbuch auf Amazon
Tutorials zu Joomla und MS-Office: www.time4joomla.de
Der Administrator hat öffentliche Schreibrechte deaktiviert.

[GELÖST] Kontaktformular-Modul soll Content lesen 09 Jul 2015 18:08 #2981

  • myscy
  • myscys Avatar
  • OFFLINE
  • Beiträge: 13
  • Dank erhalten: 3
Ja klar, wird nicht die gesamte Datenbank geladen.

Aber bei der obigen Abfrage für das dynamische Feld (WHERE-Klausel ist leer!) werden ja zunächst alle Produkte (zwar nur 2 Spalten: "value" und "text") als Ergebnis zurückgeliefert. Dieses werden dann intern mit PHP verarbeitet und der EINE gesuchte Eintrag (value == Joomla-id aus SEBLOD® Live Value) rausgefischt.

Wenn man das DB-Ergebnis von Anfang an eingrenzt (wie bei der Feld 42 Lösung) muss die DB ja nur EINEN Eintrag zurückliefern.

Keine Ahnung ob es noch stimmt, aber ich hatte mal gehört, dass die Filtern durch die DB wesentlich schneller abläuft als durch PHP. Dafür kostet der Aufbau der Verbindung zur DB wiederum.
Aber wenn der DB Handler eh immer da/offen ist, wie du gesagt hast, ist es ja nicht der Rede wert :)
Der Administrator hat öffentliche Schreibrechte deaktiviert.
nach oben