Submitted by GibsonSG76 on
Salut,
J'ai installé un Drupal Open Atrium basé sur un Drupal 7. J'ai aussi développé un module qui doit créer des noeuds avec le code suivant.
<?php
$node = new stdClass(); // We create a new node object
$node->type = "page"; // Or any other content type you want
node_object_prepare($node); // Set some default values.
$node->title = "Your title goes jere";
$node->language = LANGUAGE_NONE; // Or any language code if Locale module is enabled. More on this below *
$node->path = array('alias' => 'content/Pedro2'); // Setting a node path
$node->uid = 1; // Or any id you wish
$node->body[$node->language][0]['value'] = 'This is a body text';
$node->body[$node->language][0]['summary'] = 'Here goes a summary';
$node->body[$node->language][0]['format'] = 'filtered_html';
$node = node_submit($node);
node_save($node);
?>
Quand j’exécute le module contenant l'algorithme précédent, ça marche je vois bien mon nœuds dans la liste des noeuds (/admin/content). Quand je clique dessus, cela me redirige bien vers la page du nœud en question. Le problème est que cette page m'affiche bien le titre du nœuds, l'auteur du nœud la date de création et même le formulaire d'ajout de commentaire. Mais pas le contenu ! En effet, le "body" n'apparait pas.
Plus étrange encore, quand je clique sur EDIT, j'ai bien le contenu qui apparait dans le textarea -_-' ...
Pourquoi ?
J'ai essayé ce module sur une drupal 7 classique et j'ai toujours le même problème.
Cordialement.
Fichier attaché | Taille |
---|---|
sans_titre.png | 77.53 Ko |
sans_titre2.png | 86.39 Ko |
sans_titre3.png | 66.26 Ko |
Est-ce que ce ne serait pas
Permalien Soumis par vincent59 le 26 Juin, 2015 - 18:37
Est-ce que ce ne serait pas le format "filtered_html" qui ne serait pas bon ? inexistant ?
dans les copies d'écran je vois Wysiwyg, il faudrait valider que le format filtered_html existe et qu'il est utilisable par l'utilisateur
C'est possible, comment dois
Permalien Soumis par GibsonSG76 le 29 Juin, 2015 - 08:50
C'est possible, comment dois-je m'y pendre ?
j'ai utilisé le format
Permalien Soumis par GibsonSG76 le 29 Juin, 2015 - 08:59
j'ai utilisé le format WISIWYG
$node->body[$node->language][0]['format'] = 'WISIWYG';
et ça ne marche toujours pas.
J'ai trouvé ce qui n'allait
Permalien Soumis par GibsonSG76 le 29 Juin, 2015 - 09:56
J'ai trouvé ce qui n'allait pas.
Le problème était que je n'utilisais pas la bonne valeur pour le format du texte.
En effet, je n'ai pas utilisé le "nom machine" ( machine name ).
Pour ceux qui auraient le même problème et qui passeraient par ici, voici la bonne syntaxe:
Pour wysiwyg => panopoly_wysiwyg_text
Pour HTML => panopoly_html_text
Pour FULL HTML => full_html
Pour Plain text => plain_text
Pour obtenir le nom machine => /admin/config/content/formats . Puis cliquez sur "configure".
Voilà, et merci à vincent59 pour m'avoir orienté dans la bonne direction !
Cordialement.