Procédure de programmation pour créer un nœud dans Drupal 8?
Je suis de la conception d'un nouveau module dans Drupal 8. C'est un projet à long terme qui ne sera pas aller public pour quelques mois au moins, je suis donc en l'utilisant comme un moyen de comprendre ce qui est nouveau.
Dans ce module, je veux être capable de programmation pour créer des nœuds. Dans Drupal 7, je voudrais faire cela par la création de l'objet, puis de l'appel "node_submit" et "node_save".
Ces fonctions n'existent plus dans Drupal 8. Au lieu de cela, selon la documentation, des Modules et scripts peuvent par programme soumettre des nœuds à l'aide de la forme habituelle de l'API de modèle." Je suis à une perte. Qu'est-ce que cela signifie? Je l'ai utilisé sous Forme d'API pour créer des formulaires dans Drupal 7, mais je ne comprends pas ce que les docs disent ici.
Ce que je cherche à faire est de créer par programme, au moins un et peut-être plusieurs nouveaux nœuds, basé sur de l'information non prises directement à partir d'un utilisateur-forme. J'ai besoin d'être en mesure de:
1) Spécifier le type de contenu
2) Spécifiez le chemin d'accès d'URL
3) toutes les autres variables qui auraient été précédemment traités par le désormais obsolète node_object_prepare()
4) Engager le nouveau nœud objet
Je préfère être en mesure de le faire de manière indépendante, très abstraite de la fonction n'est pas liée à un bloc spécifique ou la forme.
Donc ce qui me manque?
- Voir
entity_create()
- entity_create() sera supprimée dans Drupal 9 en fonction de votre lien. Mieux utiliser l'objet manière : Entity::create() ou d'un Nœud::create() pour un nœud.
- Ouaip c'est vrai. Ils n'étaient pas obsolète quand j'ai écrit le commentaire, cependant, ils ont été brillants et des nouvelles 😉
Vous devez vous connecter pour publier un commentaire.
HTML:
La D8 version devel/devel_generate module est un bon exemple de cela.
De devel_generate :
À l'aide de texte formaté
À l'aide de grep avec avant/après les lignes de code m'a aidé à comprendre comment ajouter un nœud avec "full_html'.
De recherche de la base de Drupal avec ce code :
Ensuite, ouvrez /tmp/temp-grep.txt dans un éditeur de texte. Fouiner un peu et vous verrez ceci :
Note comment "corps" devient maintenant un tableau avec une 'valeur' et un 'format'.
RE: obsolète entité créer
Voici un petit exemple d'utilisation sans le obsolète fonctions. Cela est particulièrement utile pour la création dynamique:
Pensé à elle. Pour quelqu'un d'autre à ce problème, les nœuds sont désormais traités comme des entités, et l'entité module est maintenant une partie de la base. Donc mon code fini par ressembler à ceci:
Meilleur moyen de créer un nœud dans Drupal 8 via l'aide des services de base