Modules

Il existe un superbe module dans Drupal qui nous permet de structurer les nodes d'une manière hiérarchisé parent enfant sous enfant, ce module est Node Hierchy.

Par contre ce module manque un peu de développement et surtout sa version 2.x qui tarde à venir.

Dans cette exemple on va s'intéresser au poids du fieldset de ce module qui est à 10 par défaut.

J'utilise la fonction  hook_content_extra_fields() de CCK qui nous permet de gérer ça.

Une erreur sur les dernières versions de views quand on utilise comme argument un tid (identifiant du terme)

Voici l'erreur comme elle s'affiche :'views_plugin_argument_default' not found in
\sites\all\modules\views\modules\taxonomy\views_plugin_argument_default_taxonomy_tid.inc

Pour contourner cette erreur quand on utilise les arguments de la taxonomy:

--- taxonomy.views.inc	2010-04-06 12:59:29.000000000 -0700
 
+++ taxonomy.views.inc	2010-04-13 15:19:03.000000000 -0700
 
@@ -462,6 +462,7 @@ function taxonomy_views_plugins() {

Voici donc comment on peut utiliser CCK pour utiliser le poids d'un champ dit "extra" qu'on a crée et qu'on veut le placer dans notre formulaire de node, selon le classement fait dans la gestion des champs de cck.

Voici les démarches et les fonctions à utiliser:

<?php
  /**
  * Implementation of hook_content_extra_fields.
  */
  function hook_content_extra_fields($type_name) {
    $extra['champ'] = array(
        'label' => t('Etiquette'),
        'description' => t('description du champ'),
        'weight' => 0,
    );

Pour ajouter une views avec votre code et afficher le résultat voici une fonction simple qui fait tout le boulot pour vous:

<?php
  /* 
    $nom  => le nom de la views
    $type => le type : default,feed,page etc.
    $args => les arguments de la views ( Valable si la views possède des arguments ) 
    N.B : Pour les versions < .7 c'est un array et pour >.7 c'est un ensemble de vars
  */
 
  $output = views_embed_view($nom, $type = 'default',$args);
 
?>