Module summary : titres perso, ajout d'éléments textfield et fieldset

Textfield pour personnaliser le texte, fieldset sert à regrouper.

Utilisation des paramètres pour la page Summary

Il faut maintenant récupérer les paramètres sauvegardés dans la table variables par la page de configuration. Les valeurs des cases à cocher sont stockées à la ligne summary_display de la table variables. La fonction variable_get() permet de récupérer ces valeurs :
1. à la page de configuration du module Summary, cochez uniquement la section Vocabulary list ; 2. tester dans execute php  dpm(variable_get('summary_display', array()));
Note: Le lien Variable editor du bloc Devel affiche les valeurs des lignes de la table variables.

summary_display est retournée sous forme de tableau associatif. Si la section n'est pas à afficher, sa valeur est à 0 (false), sinon, sa valeur est le nom de la clé (true). On doit donc tester cette valeur avant d'ajouter chaque section.

Modifier tq

function summary_content() {
  // List of all activated modules.
  $summary_module_list = module_list();
  $summary_module_list = t('<h3>Activated modules</h3>') . implode($summary_module_list,', ');
 
  // List of vocabularies.
  $summary_vocabularies = taxonomy_get_vocabularies();
  $summary_vocabularies_list='';
  foreach ($summary_vocabularies as $vocab){
    $summary_vocabularies_list .= $vocab->name . ',';
  }
  $summary_vocabularies_list = t('<h3>Vocabularies</h3>') . $summary_vocabularies_list;
 
  // List of content types.
  $summary_node_types = node_type_get_types();
  $summary_node_types_list ='';
  foreach ($summary_node_types as $node_types){
    $summary_node_types_list .= $node_types->name . ',';
  }
  $summary_node_types_list = t('<h3>Node type</h3>') . $summary_node_types_list;
 
  $display = variable_get('summary_display', array());
  $output = '';
  if ($display['module']) { $output .= $summary_module_list; }
  if ($display['vocabulary']) { $output .= $summary_vocabularies_list; }
  if ($display['content_type']) { $output .= $summary_node_types_list; }
  return $output; 
}

Ca fonctionne, à un détail près: on a toujours les titres en anglais (du code) et non ce qu'on a saisi dans admin/config/system/summary0
En PJ, le module summary0 (page /summary0 et admin/config/system/summary0) - renommer summary0-sanslabel.zip_.txt summary0.zip

Afficher les étiquettes de admin/config/system/summary0

Les valeurs des labels sont stockées dans les lignes summary_module_label, summary_taxonomy_label et summary_content_types de la table variables. La fonction variable_get() permet de récupérer ces valeurs.

Ex: dpm(variable_get('summary_taxonomy_label', ''));
summary_taxonomy_label est donc retournée sous forme de chaîne de caractères correspondant à la valeur du label. Si rien n'est retourné, il faut préciser une valeur par défaut dans la fonction variable_get.

Pour la section voca (faire idem pour les autres sections) :  $summary_vocabularies_list = '<h3>' . variable_get('summary_taxonomy_label', t('Vocabularies')) . '</h3>' . $summary_vocabularies_list;

En pj summary0.txt à renommer et dézipper.

Doc tek: 
Fichier attachéTaille
Plain text icon summary0-sanslabel.zip_.txt2.97 Ko
Plain text icon summary0.zip_.txt1.74 Ko