Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[gelöst] Artikelnummer in Mail (Kontaktformular) ausgeben.

Eingetragen von Brian (158)
am 02.04.2013 - 10:09 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x oder neuer

Hallo,
ich habe ein Problem bei dem ich nicht recht weiterkomme und hoffe auf eure Hilfe.
Hoffentlich verwirrt die Überschrift nicht, aber ich wuste nicht wie ich es sonst beschreiben könnte.

Auf einer Inhaltsseite wird ein Produkt beworben.
Diesen bekommt mit per Unique field Modul eine eindeutige Artikelnummer.
So weit so gut.
jetzt möchte ich gerne unten auf der Inhaltsseite, die der Besucher aufruft einen Link zur einem Kontaktformular einfügen.
Über dieses Formular soll der Besucher direkt eine Anfrage zum Produkt stellen können.
Es soll also jeweils die Artikelnummer (Unique field) mit in der Mail ausgegeben werden,
so dass der Empfänger sehen kann, für welches Produkt sich der Besucher interessiert.
Hat vielleicht jemand eine Idee, wie ich das hinbekommen kann?

‹ target="_blank" rel="nofollow" [gelöst] Artikelnummer in Mail (Kontaktformular) ausgeben. ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn Du Webform für das

Eingetragen von Sense (1559)
am 02.04.2013 - 10:24 Uhr

Wenn Du Webform für das Kontaktformular verwendest kannst Du die Artikelnummer als GET Parameter übergeben und in den Betreff der Mail übernehmen oder als HIDDEN Field hinterlegen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Schau mal...

Eingetragen von leda.ch (977)
am 02.04.2013 - 12:58 Uhr

...in diesen Thread. Da gehts um etwas ähnliches.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das schaue ich mir mal an.

Eingetragen von Brian (158)
am 02.04.2013 - 16:10 Uhr

Das schaue ich mir mal an. Schon mal vielen Dank!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sense schrieb Wenn Du Webform

Eingetragen von Brian (158)
am 05.04.2013 - 13:03 Uhr
Sense schrieb

Wenn Du Webform für das Kontaktformular verwendest kannst Du die Artikelnummer als GET Parameter übergeben und in den Betreff der Mail übernehmen oder als HIDDEN Field hinterlegen.

Hi,
ich glaube das ist die einfachste Möglichkeit.
Kannst du mir erklären wie ich die Artikelnummer mit dem GET Parameter übergeben kann?
Ich habe das Webform Modul installiert und schaue es mir gerade an.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kann mir noch jemand einen

Eingetragen von Brian (158)
am 06.04.2013 - 10:45 Uhr

Kann mir noch jemand einen Tip geben?

die Übergabe den Tokens habe ich mit %get[node:field_artikelnummer] versucht.
Drupal gibt mir aber nur "%get[node:field_artikelnummer] " aus und nicht den Wert.
Was mache ich falsch ?

Die Artikelnummer steht bei mir nicht in der URL sondern in einem Feld....

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn Du es mit GET machst,

Eingetragen von oteno (775)
am 06.04.2013 - 11:45 Uhr

Wenn Du es mit GET machst, musst Du auch eine Query mit der url übergeben, in der Form deineurl?artikelnummer=12345
Der Wert für das Feld in der Webform ist in desem Fall %get[artikelnummer] - also der Value vom Key 'artikelnummer' in Deinen GET-Array. Der Token hat hier nichts verloren.
Also wäre die Lösung, einen dynamischen Link von der Artikelseite zur Webform zu erstellen. Praktisch wäre es, die l()-Funktion von Drupal zu benutzen, die stellt auch eine Query-Array zur Verfügung.
Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für deine Antwort, aber

Eingetragen von Brian (158)
am 06.04.2013 - 12:16 Uhr

Danke für deine Antwort, aber ich weiß leider nicht wie du das meinst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

so halt ungefähr den Link

Eingetragen von oteno (775)
am 06.04.2013 - 15:11 Uhr

so halt ungefähr den Link erzeugen, in Deiner node.tpl :


$field = field_get_items('node', $node, 'field_DEINEARTNR');
$artnr = $field[0]['value'];
print l('DEIN_LINK_TEXT', 'DEIN_PFAD', array('query' => array('artikelnummer' =>  $artnr)));

(oder wie auch immer Du den Wert des Feldes auslesen willst)
ergibt eine URL die so ausschaut: /DEIN_PFAD?artikelnummer='wert vom Feld field_DEINEARTNR'
Und die kannst Du mit %GET['artikelnummer'] in dein Formularfeld holen.
Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

Brian schrieb Danke für deine

Eingetragen von glycid (921)
am 06.04.2013 - 16:21 Uhr
Brian schrieb

Danke für deine Antwort, aber ich weiß leider nicht wie du das meinst.

Ich glaube es für die Leute hier hilfreich, wenn du mal kurz anmerkst, ob du irgendwelche PHP Kenntnisse hast oder oder nicht. Sense und Oteno setzen dies bei ihren Antworten voraus.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nein, habe ich nicht, sry

Eingetragen von Brian (158)
am 06.04.2013 - 18:19 Uhr

Nein, habe ich nicht, sry

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok, ginge aber auch ohne PHP

Eingetragen von oteno (775)
am 06.04.2013 - 18:53 Uhr

Ok, ginge aber auch ohne PHP mit Views, wenn man dort die Ausgabe überschreibt.

Wenn Du eine feste url auf das Formular hast, dann könntest Du mit Views das Feld für die Artikelnummer überschreiben (unter "Rewrite results"->Rewrite the output of this field)
mit <a href="DEIN_PFAD?artikelnummer=[TOKEN_DEINES_FELDES]">LINK</a>

Wichtig ist halt, dass das Prinzip klar ist, die Query-Parameter (?artikelnummer=12345) mit der url mitzugeben.
Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

Jetzt hab ich es gescheckt!

Eingetragen von Brian (158)
am 08.04.2013 - 07:37 Uhr

Jetzt hab ich es gescheckt!

$field = field_get_items('node', $node, 'field_DEINEARTNR');
$artnr = $field[0]['value'];
print l('DEIN_LINK_TEXT', 'DEIN_PFAD', array('query' => array('artikelnummer' =>  $artnr)));

Damit klappt es prima. Vielen Dank !

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super! Stellst Du bitte den

Eingetragen von oteno (775)
am 08.04.2013 - 08:01 Uhr

Super! Stellst Du bitte den Beitrag noch auf [gelöst]?
Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

Eine letzte Frage habe ich

Eingetragen von Brian (158)
am 08.04.2013 - 08:42 Uhr

Eine letzte Frage habe ich noch.
Wie kann ich bestimmen auf welchen Seiten der Link gezeigt wird?
Deinen PHP code habe ich ja in der Node.tpl eingefügt, nun wird der Link mir z.B. auf der Formularseite nochmals darunter angezeigt.

Edit: Ich könnte auf den entsprechenden Seiten den Link per CSS auf display: none setzen, aber es gibt bestimmt eine elegante Lösung...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn Du nur eine node.tpl

Eingetragen von oteno (775)
am 08.04.2013 - 08:59 Uhr

Wenn Du nur eine node.tpl hast, kannst du den Content type einfach abfragen, auf dem es ausgegeben wird - hoffe mal, dass deine Formularseite einen eigenen hat.

if ($type=='DEIN_CONTENTYPE'):

$field = field_get_items('node', $node, 'field_DEINEARTNR');
$artnr = $field[0]['value'];
print l('DEIN_LINK_TEXT', 'DEIN_PFAD', array('query' => array('artikelnummer' =>  $artnr)));

endif;

[edit]
Da fällt mir noch ein, vielleicht wäre es sogar besser abzufragen, ob es eine Arikelnummer gibt:
$field = field_get_items('node', $node, 'field_DEINEARTNR');
$artnr = $field[0]['value'];
if (isset($artnr)):
print l('Link Text', 'news', array('query' => array('artikelnummer' =>  $artnr)));
endif;

Mir persönlich wäre das schon zu viel in der node.tpl, aber es funktioniert schon.
Ich würde das meiste in die template.php auslagern - das kannst Du mal machen, wenn du Dich mehr damit beschäftigt hast.
Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super, vielen vielen Dank für

Eingetragen von Brian (158)
am 08.04.2013 - 09:09 Uhr

Super, vielen vielen Dank für Eure Hilfe!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Mir persönlich wäre

Eingetragen von Brian (158)
am 08.04.2013 - 11:06 Uhr
Zitat:

Mir persönlich wäre das schon zu viel in der node.tpl, aber es funktioniert schon.
Ich würde das meiste in die template.php auslagern...

Funktioniert einwandfrei. Vielen Dank Christian.

Nur des Verständnisses halber. Warum ist das in der Node.tpl.php schon zuviel und wie kann man das in die template.php auslagern ?

  • Anmelden oder Registrieren um Kommentare zu schreiben

In die node.tpl sollte

Eingetragen von oteno (775)
am 08.04.2013 - 12:13 Uhr

In die node.tpl sollte sowenig Logik und PHP-Code wie möglich, das ist "best practice" und hat einige Vorteile, bezüglich Übersichtlichkeit und Wiederverwertbarkeit.
In der template.php würde das dann so aussehen

function DEINTHEME_preprocess_node(&$vars) {
  $node = $vars['node'];
  $field = field_get_items('node', $node, 'field_DEINARTIKELNUMMERFELD');
  $artnr = $field[0]['value'];
  if (isset($artnr)):
       $vars['link'] = l('Link Text', 'news', array('query' => array('artikelnummer' =>  $artnr)));
  endif;
}

und in der node.tpl würde dann lediglich:
<?php
if (isset($link)): print $link; endif; 
?>

stehen.
In die Arbeitsteilung mit einem Webdesigner bringt sowas dann schon Komfort.
Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nochmal Danke, jetzt bin ich

Eingetragen von Brian (158)
am 08.04.2013 - 13:26 Uhr

Nochmal Danke, jetzt bin ich schlauer. (:

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 8 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 5 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 33 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association