Selon ce lien de documentation du module de vues, cette fonction est également disponible sur Drupal 6 et 7. Essayez avec le deuxième paramètre comme $ display_id de votre vue.
Pour afficher une vue dans un modèle de nœud, vous utilisez le code suivant.
// Load the view.
$view = views_get_view('machine_name_of_view');// Set the active display.
$view->set_display('your_view_display_name');// Set any needed argument.
$view->set_arguments(array(arg(0), arg(1)));// Execute the view.
$view->execute();// Render the view.print $view->render();
Vous devez toujours appeler $ view-> pre_execute (); avant $ view-> execute ();
Teegan
@Teegan - Je ne savais pas que l'utilisation de l'exécution uniquement semble fonctionner, mais je vais examiner l'utilisation pre_execute()avant execute().
VIEWFIELD !!!! OMG!!! J'ai cherché pendant des jours cette fonctionnalité, en essayant de nombreux modules, cela me sauve! : D merci!
DrCord
@DrCord, voir également les modules Eva et views_field_view, c'est à peu près la même chose.
timofey.com
Je ne pouvais pas faire en sorte qu'EVA fasse ce que je voulais.
DrCord
1
Une solution consiste à utiliser Panelizer pour remplacer le contenu du nœud respectif.
Disons par exemple que vous avez une poignée de pages uniques qui nécessitent une vue attachée.
1) Vous pouvez utiliser le type de contenu Page ou peut-être créer un nouveau type de contenu qui sera spécifiquement panélisé.
2) Activez Panelizer pour ce type de contenu, assurez-vous de le configurer sur "Autoriser le choix d'affichage par enregistrement" de cette façon, vous pouvez configurer plusieurs affichages Panelizer qui seront adaptés à chaque page. (chaque panneau d'affichage peut avoir son propre ensemble de vues attaché)
3) À partir de là, vous créez simplement une vue (j'aime utiliser les volets de contenu pour cela) et l'ajoutez à l'affichage de contenu Panelizer de votre choix.
Cela vous permet de réutiliser un seul type de contenu qui n'a pas vraiment besoin de son propre ensemble de champs, mais qui peut potentiellement être utilisé pour référencer d'autres entités (en tant que champ) ou référencer des vues.
Ajoutez le module Paragraphs et vous avez un type de contenu Swiss Army Knife. En parlant de cela, cela ferait un nom parfait pour le type de contenu personnalisé utilisé à cet effet ... Hmm ....
Disons simplement que le premier paramètre est le nom de la vue, le deuxième nom d'affichage et après cela, vous pouvez passer des paramètres de filtre contextuel.
Pour que "$ node-nid", le troisième paramètre dépend de votre affichage ... ce qu'il attend pour le premier filtre contextuel - id n'a pas à être id de nœud. Bien sûr, vous n'êtes pas limité à un paramètre - passez autant que vous en avez en vue ... ou n'en passez aucun si votre vue n'a pas de filtres contextuels.
Réponses:
Dans Drupal 7, vous pouvez utiliser ce code.
Pour une page de visualisation
Pour un bloc de vue
la source
Le module EVA peut également attacher des vues aux nœuds.
la source
Pour afficher une vue dans un modèle de nœud, vous utilisez le code suivant.
la source
pre_execute()
avantexecute()
.Pourquoi pas:
où $ arg, $ arg2, etc. sont facultatifs.
Ou utilisez le module Viewfield pour incorporer une vue en tant que champ.
la source
Une solution consiste à utiliser Panelizer pour remplacer le contenu du nœud respectif.
Disons par exemple que vous avez une poignée de pages uniques qui nécessitent une vue attachée.
1) Vous pouvez utiliser le type de contenu Page ou peut-être créer un nouveau type de contenu qui sera spécifiquement panélisé.
2) Activez Panelizer pour ce type de contenu, assurez-vous de le configurer sur "Autoriser le choix d'affichage par enregistrement" de cette façon, vous pouvez configurer plusieurs affichages Panelizer qui seront adaptés à chaque page. (chaque panneau d'affichage peut avoir son propre ensemble de vues attaché)
3) À partir de là, vous créez simplement une vue (j'aime utiliser les volets de contenu pour cela) et l'ajoutez à l'affichage de contenu Panelizer de votre choix.
Cela vous permet de réutiliser un seul type de contenu qui n'a pas vraiment besoin de son propre ensemble de champs, mais qui peut potentiellement être utilisé pour référencer d'autres entités (en tant que champ) ou référencer des vues.
Ajoutez le module Paragraphs et vous avez un type de contenu Swiss Army Knife. En parlant de cela, cela ferait un nom parfait pour le type de contenu personnalisé utilisé à cet effet ... Hmm ....
la source
Disons simplement que le premier paramètre est le nom de la vue, le deuxième nom d'affichage et après cela, vous pouvez passer des paramètres de filtre contextuel.
Pour que "$ node-nid", le troisième paramètre dépend de votre affichage ... ce qu'il attend pour le premier filtre contextuel - id n'a pas à être id de nœud. Bien sûr, vous n'êtes pas limité à un paramètre - passez autant que vous en avez en vue ... ou n'en passez aucun si votre vue n'a pas de filtres contextuels.
la source
Un module Drupal 7 et 8 très configurable est views_field_formatter qui vous permet d'incorporer une vue en tant que formateur de champs
la source