Passaggio Variabili nelle funzioni

3 contenuti / 0 new
Ultimo contenuto
Passaggio Variabili nelle funzioni

Ciao a tutti
conosco abbastanza bene Drupal e i suoi moduli ma sono nuovo nel mondo dello sviluppo ...

Sto creando un modulo personalizzato e sono arrivato in un punto cieco:
lo scopo è creare un centinaio di pagine tutte uguali che si differenziano di poco una dall'altra, le uniche modifiche sono i dati che vengono visualizzati, ma la struttura rimane uguale per tutte le pagine

ora ho fatto la prima pagina e mi sto preparando a fare le altre, vorrei capire cosa riesco a recuperare del codice gia' scritto

in pratica ora sono qui:
pagine.module

function pagine_menu() {
    $items = array();
    $items['pag_001'] = array(
        'description'     => t('pag_001'),
        'menu_name'       => 'main-menu',
        'access callback' => TRUE,
        'title' => 'pag_001',
        'page callback' => 'pag_001',
        'type' => MENU_NORMAL_ITEM,
     );
    $items['pag_002'] = array(
        'description'     => t('pag_002'),
        'menu_name'       => 'main-menu',
        'access callback' => TRUE,
        'title' => 'pag_002',
        'page callback' => 'pag_002',
        'type' => MENU_NORMAL_ITEM,
     );
    return $items;
}
function pag_001() {
        $vars = array();
        $vars['type']="ul";
        $vars['title'] = "titolo pagina 1";
        $vars['items'][0]= "faccio cose, vedo gente $pagina1 - $var_pag1";
        return theme_item_list($vars);
}
function pag_002() {
        $vars = array();
        $vars['type']="ul";
        $vars['title'] = "titolo pagina 2";
        $vars['items'][0]= "faccio cose, vedo gente $pagina2 - $var_pag2";
        return theme_item_list($vars);
}

La domanda è:
esiste un modo per parametrizzare il tutto?
devo fare un centinaio di pagine (e un centinaio di menu , poi ne saranno visibili al massimo 5 con i permessi) e ora ogni modifica anche piccola si moltiplica x100..

Ad esempio si puo' fare qualcosa tipo?

function pagine_menu() {
    $items = array();
    $items['pag_$id'] = array(
        'description'     => t('pag_$id'),
        'menu_name'       => 'main-menu',
        'access callback' => TRUE,
        'title' => 'pag_$id',
        'page callback' => 'pag_$id',
        'type' => MENU_NORMAL_ITEM,
     );
     return $items;
}
function pag_$id($var) {
        $vars = array();
        $vars['type']="ul";
        $vars['title'] = "titolo $id";
        $vars['items'][0]= "faccio cose, vedo gente $id - $var_id";
        return theme_item_list($vars);
}

Credo non ci siano scappatoie per la creazione dei menu... ma per le pagine?

Spero di essermi stato spiegato :)
Grazie mille

Drupal Version:

Ti posso chiedere l'utilità di questo modulo? Hai i content type e view che ti permettono di fare quasi qualsiasi cosa quindi non capisco qual'è il tuo scopo in questo momento, ad ogni modo puoi modificare il modulo per renderlo dinamico semplicemente parametrizzando la url come da esempio

<?php
// questo per l'hook modulename_menu()
$items['pag/%'] = array(
       
'description'     => t('pag'),
       
'menu_name'       => 'main-menu',
       
'access callback' => TRUE,
       
'title' => 'pag',
       
'page callback' => 'pag',
       
'page_arguments' => array(1),
       
'type' => MENU_NORMAL_ITEM,
     );
// questa è la funzione di callback e in $var viene inserito il valore passato nella url al posto del %
function pag($var) {
       
$vars = array();
       
$vars['type']="ul";
       
$vars['title'] = "titolo $var";
       
$vars['items'][0]= "faccio cose, vedo gente $var";
        return
theme_item_list($vars);
}
?>

Concordo con @rednode: che senso ha quello che stai facendo se hai i content type che sono costumizzabili ?

--
Michel 'ZioBudda' Morelli -- michel@ziobuddalabs.it
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal