modulo custom, come linkarlo?

6 contenuti / 0 new
Ultimo contenuto
modulo custom, come linkarlo?

Ciao a tutti.
Sono alle prese con lo sviluppo di moduli custom per drupal.
Dopo la consultazione di diversi tutorial, qui e in lingua inglese, ho creato il primo modulo e ora lo vorrei linkare.
L'effetto che esidero avere è di un link nella home dal quale poter cliccare ed ottenere il risultato dell'elaboraizone del modulo.
Sto provando con la hook_menu, ma non riesco a capire come fare.
Potete indicarmi come fare?
Grazie da subito.

Non ho capito cosa vuoi fare. Prova a incollare qui il contenuto del tuo hook_menu.

<?php
/**
 * Implementation of hook_menu().
 */
function miomodulo_menu() {
 
$items = array();
 
$items['mio/path'] = array(
   
'title'            => t('Titolo del link'),
   
'description'      => t('Descrizione del lini'),
   
'page callback'    => 'mia-funzione_di_callback',
   
'access arguments' => array('mio permesso'),
   
'type'             => MENU_NORMAL_ITEM,
  );
  return
$items;
}
?>

a questo punto dove ti serve inserisci il link (nel menu, nel codice della pagina, ....)

Ciao
Marco
--
My blog
Working at @agavee

Ciao e grazie delle risposte.
Diciamo che quello che volevo fare era un meno che si aprisse e mostrasse, sotto, delle voci.
Dato che sono un neofita di drupal, dopo aver letto la documentazione, credevo di aver compreso appieno. Invece no e quindi ho scritto al forum.
Poi, santo google, cerca di qua, leggi di la, sono arrivato a capire. Certo non al 100% ma intanto il menu e il modulo l'ho fatto e funziona pure.
Grazie ancora e a disposizione.
Ciao
Massimiliano

Vi incollo il codice, dovesse service a qualcuno (se trovate degli errori, vi ringrazio da ora per le correzioni).

$items['my_module'] = array(
    'title' => 'Gestione Stampanti',
    'page callback' => 'listStampanti',
    'page arguments' => array(''),
    'access arguments' => array('access my_module'),
  );
$items['my_module/add'] = array(
      'title' => 'Aggiungi Stampante',
      'page callback' => 'drupal_get_form',
      'page arguments' => array('getFormStampanteForm'),
      'access arguments' => array('insert my_module'),
);
$items['my_module/list'] = array(
      'title' => 'Lista Stampanti',
      'page callback' => 'listStampanti',
      'page arguments' => array(''),
      'access arguments' => array('insert my_module'),
);
$items['my_module/edit/%'] = array(
      'title' => 'Modifica Stampanti',
      'page callback' => 'stampanti_edit',
      'page arguments' => array(2),
      'access callback' => 'editAP',
      'access arguments' => array(2),
  );
  $items['my_module/delete/%'] = array(
      'page callback' => 'drupal_get_form',
      'page arguments' => array('stampanti_delete_confirm', 2),
      'access callback' => 'editAP',
      'access arguments' => array(2)
);
$items['my_module/send'] = array(
      'title' => 'Invia notifica',
      'page callback' => 'drupal_get_form',
      'page arguments' => array('news_form3'),
      'access arguments' => array('insert my_module'),
);
$items['my_module/list/%'] = array(
  'title' => 'Lista Stampanti',
      'page callback' => 'listStampanti',
      'page arguments' => array(1),
      'access arguments' => array('insert printers'),
  );

Mavimo dice: inserisci il link (nel menu, nel codice della pagina, ....)

ma quale è il codice? Ad esempio nella funzione _block:

$options=array();
$link2 = l( t('Modifica Stampanti'), 'my_module/edit/%', $options );  //chiama la funzione 'stampanti_edit'? a me non funziona!

$items['my_module/edit/%'] = array(
      'title' => 'Modifica Stampanti',
      'page callback' => 'stampanti_edit',
      'page arguments' => array(2),
      'access callback' => 'editAP',
      'access arguments' => array(2),
  );

Qual'è il codice per chiamare una funzione (ad esempio stampanti_edit) in my_module.module?

Ciao

Stai facendo un link (usando correttament ela funzione l), ma passandogli un path con %. il percento (nell'hook menu) indica un argomento, che però quando richiami usando la funzione l() deve essere passato, per esempio:

<?php
l
(t("Mio link"), 'mio_modulo/edit/2');
?>

Ciao
Marco
--
My blog
Working at @agavee