Hook-menu

Events happening in the community are now at Drupal community events on www.drupal.org.
Posted by babacar on August 29, 2013 at 9:40pm

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

Posted by ousmaneo on August 30, 2013 at 10:23am

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

Posted by ousmaneo on August 30, 2013 at 9:47am

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:

AltStyle によって変換されたページ (->オリジナル) /