The Views module allows administrators to create dynamic lists of content for display in pages or blocks. It is possible to insert those lists into existing node bodies and blocks, but such inclusion requires that PHP filtering be turned on. The Insert View module allows any user to insert view listings using tag syntax, without the need for PHP execution permissions. The Insert View tag syntax for embedding a view is relatively simple:
[view:my_view]
is replaced by the content listing corresponding to the named view (in this case, my_view).
[view:my_view=5]
limits the listing to 5 entries.
[view:my_view=10=1,2,3]
limits the listing to 10 entries, and passes a comma delimited list of arguments (in this case 1, 2, and 3) to the view.
Here's an example you could use with the default view named "tracker" which takes a user ID as an argument:
[view:tracker=5=1]
In short this tag says, "Insert the view named tracker, limit the number of results to 5, and supply the argument/user ID 1."
Sometimes you want to pass an argument without placing a limit on the number of results. You can do that by leaving the limits position empty, like so:
[view:my_view==1]
You can use a pager with your view by using the following syntax (note: you must set a limit which will serve as the number of nodes per page):
[view_pager:my_view=3]
Si vous savez programmer en PHP, Drupal vous donne la possibilité d'inclure le script que vous souhaitez. Il sera exécuté quand la page est afficher et intégré de façon dynamique à la page. Cela apporte une flexibilité et une puissance impressionnantes, mais entraîne bien sûr un risque important si le code que vous entrez n'est pas correct. Si vous n'êtes pas habitué à PHP, SQL ou le moteur du site, évitez d'expérimenter le PHP car vous pouvez corrompre la base de données ou rendre votre site non sûr ou même inutilisable ! Si vous n'envisagez pas de réaliser des choses extravagantes avec votre contenu vous serez probablement plus à l'aise avec du simple code HTML.
Souvenez-vous que le code dans chaque élément PHP doit être du code PHP valide - ce qui comprend les points-virgules pour terminer correctement. Il est fortement recommandé que vous développiez votre code séparément en utilisant un simple script de test sur une base de test avant de migrer vers votre environnement de production.
Notes :
print ou return pour afficher le contenu de votre élément.Un exemple basique :
Vous voulez avoir une boîte avec le titre "Bienvenue" que vous utilisez pour accueillir vos visiteurs. Le contenu de cette boîte pourrait être créé de la façon suivante :
print t("Bienvenue visiteur, ... message de bienvenue ici ...");Si l'utilisateur est authentifié, on peut personnaliser le message avec :
global $user; if ($user->uid) { print t("Bienvenue $user->name, ... message de bienvenue ici ..."); } else { print t("Bienvenue visiteur, ... message de bienvenue ici ..."); }
Pour des exemples plus complexes, nous vous recommandons de regarder le code Drupal existant et de l'utiliser comme point de départ, particulièrement pour les boîtes des barres latérales.