J'ai un champ de date personnalisé dans un type de noeud «jour». Lorsque le nœud est enregistré (ou édité puis enregistré), je voudrais obtenir la valeur field_date (pas la date de publication) et l'enregistrer dans le champ titre.
Je voudrais savoir comment, peut-être en utilisant un module pour:
hook_presave
OBTENEZ UNE VALEUR SUR LE TERRAIN
DÉFINIR LE TITRE COMME VALEUR DE TERRAIN
ENREGISTRER LE NOEUD
Réponses:
Vous devez implémenter le hook_entity_presave ()
la source
$entity
qu'objet?Pour l'entité de type utilisateur
la source
Pour l'entité de type profil que j'ai utilisée sous le code
la source
Cela a fonctionné pour moi pour obtenir et définir la valeur du champ de date à l'aide du crochet de préenregistrement basé sur le type de contenu / ** * Implémente hook_entity_presave (). * /
function YOUR_MODULE_global_entity_presave (Drupal \ Core \ Entity \ EntityInterface $ entity) {if ($ entity-> bundle () == 'blog') {$ published = $ entity-> get ('created') -> value; $ entity-> set ('field_published_date', date ('Ymd \ TH: i: s', $ published)); }}
la source