afbeelding van joker

mailto subject automatisch laten invullen met title van de node

Je kan via de broncode aan een mailto commando het onderwerpt/subjetvenster automatisch laten invullen met tekst die je na ?subject= toevoegt. bv. href="mailto:mailadres.be?subject=voorbeeld">e-mail.

Ik vraag me af of het niet mogelijk zou zijn om in het onderwerpvenster automatisch de title van de node te laten invullen door een bepaalde code/syntax.

Iemand een idee?

Drupalversie: 
9.x
Auteur: 
joker
afbeelding van Jurgen M
Door Jurgen M op 7 oktober, 2021 - 23:42

Het eerste wat me te binnen schiet is tokens.
href="mailto:info@mailadres.be?subject=[current-page:title]"
Kan je wat meer uitleg geven over hoe je dit zou willen gebruiken?

afbeelding van joker
Door joker op 8 oktober, 2021 - 11:00

Dag Jurgen,
Ik heb een inhoudstype aangemaakt met een veld: Tekst (opgemaakt, lang), In dit veld zet ik een link om een mail te verzenden. Omdat de inhoud van die mail specifiek verbonden is met elk unieke node, wou ik de titel van die node automatisch laten verschijnen in het onderwerp van de mail.
Uw voorstel ?subject=[current-page;title] werkt niet. Het schrijft dan gewoon [current-page;title]in het subjectveld.

groet
Joker

afbeelding van belba
Door belba op 8 oktober, 2021 - 05:26

Er zijn verschillende mogelijkheden. Basis code hieronder voor in een hook of php file.

use Drupal\node\Entity\Node //belangrijk is dat je de Node class aanroept!

$title = Node::load($nid)->title->value;

Succes, Jan

afbeelding van joker
Door joker op 8 oktober, 2021 - 11:24

Dag Jan,

Ik ben niet echt vertrouwd met hooks of php files.
Ik moet dan wellicht de php-filter module installeren om in een veld de hogervermelde code te zetten?

groet
Joker

afbeelding van Jurgen M
Door Jurgen M op 8 oktober, 2021 - 17:30

Om te beginnen werk je voor een e-mail beter met een tekstveld (plat) of een e-mail veld.

Dan kan je vraag simpel worden opgelost met een twig veld.
Installeer de module twig_field
Voeg naast het e-mailveld ook een twig template toe aan uw content type (op dezelfde manier alsof je een ander veld toevoegt).

Als standaardwaarde geef je onderstaande code in.

Edit: Sorry de Code tag werkt hier blijkbaar niet waardoor de href mailto automatisch een link wordt.
Ik heb het in een printscreen geplaatst.

Let op als uw e-mail veld een andere naam heeft dan email moet je dit in de eerste regel aanpassen.

vb het veld noemt "Uw e-mailadres" dan wordt het node.uw-e-mailadres.value
Met andere woorden je moet node.de_machine_name_van_het_veld.value gebruiken.

Bij aanmaken van nieuwe nodes zal dit automatisch worden toegepast.

Het je reeds nodes aangemaakt dan moet je die code telkens in het twig veld van die node plakken en opnieuw opslaan.

Om het mooi te maken doe je volgende:
In formulierweergave tab zet je het e-mail veld zichtbaar en verberg je het twig veld.
In weergave beheren tab zet je het e-mail veld verborgen en toon je het twig veld.

Zo zie bij het invullen van het formulier die twig code niet staan en zie je bij de weergaven niet 2x het mailadres staan.

Succes.

btw: mocht het niet werken dan moet je de module twig_tweak nog bij installeren.

afbeelding van joker
Door joker op 9 oktober, 2021 - 12:29

Bedankt Jurgen,
ik ga dat eens proberen.

groet
Joker

afbeelding van belba
Door belba op 14 oktober, 2021 - 12:42

@joker
Je hoeft geen module te instaleren. Om een hook te schrijven dien je wel zelf een module te maken. Maar als je daar geen ervaring mee hebt, zal mijn antwoord voor deze oplossing te ver gaand zijn om het je zelf te laten doen.

Volgens ik versta, wil je het titel veld van de node als default_value in je mail onderwerp.
Je moet een default_value geven aan je subject field.
In de instellingen van het veld moet dit normaal lukken met de oplossing die Jurgen gaf. De token module moet daarvoor geinstalleerd zijn. Ga daarna na de admin/help en ga naar token->title->[node:title], plak dit in je veld als default value.
Mocht je meer hulp nodig hebben, laat dat dan weten.

Succes, Jan

afbeelding van joker
Door joker op 15 oktober, 2021 - 09:31

Bedankt Jan,
Je verstaat perfect wat ik als resultaat wens.
Ik ben nog aan het testen (lees worstelen) met Jurgen en uw input.

groet
Joker

Bookmark and Share

Drupal is een geregistreerd merk van Dries Buytaert. | Powered by Pantheon.

Drupal.be/Drupal.nl is de website van de Nederlandstalige Drupalgemeenschap.