Submitted by marnet on
Bonjour,
Qui peut m'expliquer la différence entre viewfield et insert view.
en fait je voudrais insérer une vue dans une node et je n'y arrive pas!
Merci
Martine
En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".
Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact
De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.
Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".
Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.
Submitted by marnet on
Bonjour,
Qui peut m'expliquer la différence entre viewfield et insert view.
en fait je voudrais insérer une vue dans une node et je n'y arrive pas!
Merci
Martine
Hello, Insert_view est un
Permalien Soumis par drupalfrance le 25 Mai, 2007 - 15:22
Hello,
Insert_view est un filtre d'affichage. Un filtre permet de modifier le contenu saisi par un utilisateur en enlevant ou en modifiant des éléments pour des raisons de sécurité, ou comme une facilité syntaxique. Par exemple, il y a un filtre - activé par défaut - qui convertit automatiquement les URL et les adresses e-mail en liens cliquables.
Eh bien, insert_view fonctionne selon le même principe, sauf qu'au lieu de rendre les URLs cliquables, il permet de remplacer automatiquement le texte [view:NomDeLaVue] par le contenu d'une vue. C'est à toi de saisir ce texte dans ton contenu à l'endroit où tu veux que ta vue apparaisse.
D'après ce que tu dis, c'est ce module qu'il te faut. Pour l'utiliser, il faut te rendre dans Admin > Formats d'entrée après l'avoir installé. Tu verras alors les 3 formats d'entrée (format d'entrée = plusieurs filtres utilisés ensemble) qu'on trouve par défaut dans Drupal : Filtered HTML, Full HTML et PHP Code. Clique sur le lien "configurer" du format que tu utilises pour ton contenu, et active le fitre insert_view pour ce format.
PS. Le module viewfield fait en gros la même chose que insert_view. La différence c'est que insert_view te permet de faire apparaître une vue n'importe où dans du texte libre, alors que viewfield te permet de faire apparaître une vue dans un champ précis (et suppose que tu aies défini le champ en question avec le module CCK).
Bonjour, J'ai installé
Permalien Soumis par marnet le 29 Mai, 2007 - 10:53
Bonjour,
J'ai installé insert_view et defini le format.
Une précision, quant à ce que je voudrais faire.
J'ai crée une node avec CCk et par exemple, j'ai un champ
"numero etudiant", je voudrais que une fois le N° saisi, la vue
concernant l'étudiant apparaisse? est-ce possible ?
et si oui, comment cela se traduit-il au niveau de mon formulaire de saisie.
j'ai essayé en utilisant [view:rechetud1=1=nom du champ que je viens de saisir], aucun effet.
Merci
Je n'en suis pas sûr...
Permalien Soumis par drupalfrance le 29 Mai, 2007 - 14:28
Je n'en suis pas sûr... mais tu pourrais créer un autre champ de type "computed field" dans ton node CCK.
Un champ "computed field" peut contenir une valeur générée à partir du contenu d'autres champs. En gros, il faudra mettre la syntaxe [view:XXX] dans le computed field (attention, il y a une syntaxe bien précise à respecter pour récupérer la valeur des autres champs - cf. http://drupal.org/project/computed_field).
Mais ça ne suffira pas : il faudra ensuite passer le contenu du computed field dans le filtre permettant de remplacer [view:XX] par la vue en question. Pour ça, il faut utiliser la fonction check_markup() qui prend 2 arguments : le texte à convertir et le numéro du format d'entrée à appliquer (1 = Filtered HTML ; 2 = PHP Code ; 3 = Full HTML).
CONCLUSION :
Ton computed field contiendra quelque chose comme :
Je te laisse affiner la syntaxe exacte pour [view:XXX] sachant que quelque part dans le XXX, il faudra passer en paramètre à la vue le numéro d'étudiant récupéré dans l'autre champ.
Cette solution est moyenne, car tout le code HTML produit par la vue va être stocké dans le computed field. En fait, réflexion faite, je me dis que ça serait plus judicieux de laisser tomber le computed field, et de simplement ajouter ça dans le template de ton node (node-XXX.tpl.php) :
Toujours en remplaçant le XXX par le code qui va bien. C'est exactement la même logique, mais en plus léger. :)
Bonjour et merci de la
Permalien Soumis par marnet le 30 Mai, 2007 - 08:59
Bonjour et merci de la réponse,
Mais je suis vraiment débutante sous drupal,
et un question bête : où trouve-t-on le node-XXX.tpl.php et comment le modifier....
je suis allée voir ce qui avait dans le "content template" correspondant à mon node et j'avoue n'avoir pas tout compris.
bonne journée.
Martine
Les fichiers .tpl.php se
Permalien Soumis par drupalfrance le 30 Mai, 2007 - 10:21
Les fichiers .tpl.php se trouvent dans le répertoire de thème (l'emplacement exact dépend du thème que tu utilises).
Cela dit, si tu utilises contemplate, tu peux insérer le code que je t'ai indiqué directement dans le contemplate (qui fait office de fichier .tpl.php).
Désolé si mes explications te paraissent courtes, mais pour vraiment te répondre, il faudrait écrire un tuto complet sur le sujet.
merci beaucoup, c'est déja
Permalien Soumis par marnet le 30 Mai, 2007 - 11:21
merci beaucoup, c'est déja bien de me répondre et je vais me débrouiller avec tout ça!
Martine