Hook-menu

Events happening in the community are now at Drupal community events on www.drupal.org.
babacar's picture

Bonsoir,

Comment ajouter un item de plus dans node qui est en "display"?
je m'explique:

pour un node d'un type de contenu donné, à la visualisation du node on a ceci:
View|Edit

et j'aimerai ajouter un troisième item print ce qui donnera:
View|Edit|Print

Avec le code ci-dessous l'item Print n'apparait pas

Ceci a pour but d'utiliser la librairie tcpdf et de créer un module pour mieux gérer l'affichage.

Voici ce que j'ai commencé mais n'avance pas comme je le souhaite:

FIchier .info du module:

name = Custom print circuit
description = Module for custom print circuit.
core = 7.x
version = 7.1.0
package = Custom Print Circuit

Fichier .module

<?php
/**
* Implements hook_menu().
*/
function custom_print_circuit_menu() {
  $item = array();
      $item['node/%circuit/impression'] = array(
     'title'=>'Impression',
      'page callback'=>'custom_print_circuit_impression',
     'page arguments' => array(1),
     'access callback'=>'custom_print_circuit_check',
    'weight' => 2,
    'type'=>'MENU_LOCAL_TASK'
);

   return $item;  
}
function custom_print_circuit_check($node){
if($node->type == 'circuit'){
     return TRUE;
   }
  return FALSE;
}

function custom_print_circuit_impression(){
  
}

Si quelqu'un a une idée

Comments

Slt Babacar

ousmaneo's picture

j'ai repris ton code dans un simple drupal install pour voir ce qui n'allait pas :

<?php
function test_toolkit_menu() {
 
$item = array();
 
$item['node/%node/impression'] = array( /*je pense que le wildcarde doit contenir node et pas circuit*/
   
'title'=>'Impression',
   
'page callback' => "test_toolkit_impression",
   
'page arguments' => array(1),
   
'access callback'=>array('test_toolkit_check'), /* le "access callback" est un array */
   
'access arguments' => array(1), /*si on passe le "access calback" il faut passer l'argument ici le nid*/
   
'type'=>MENU_LOCAL_TASK, /**pas guillements pour cette variable*/
);

   return
$item;  
}
?>

<?php
/*------- Donc a priori c'est le nid qui est a passer a cette fonction donc tu doit faire un node load -----------*/
function test_toolkit_check($node){
// if($node->type == 'article'){
//     return TRUE;
//   }
//  return FALSE;
 
return TRUE;
}

function
test_toolkit_impression(){
  
}
?>

Je pense qu'avec ces modifications ca devrait aller.
Good luck!

Commentaire

ousmaneo's picture

Pardon c'est pas lisible j'ai mis les commentaires dans le code.

Senegal

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: