Inserire un modulo in una pagina personale

6 contenuti / 0 new
Ultimo contenuto
Inserire un modulo in una pagina personale

Ciao a tutti.
Ho fatto un modulo dove recupero dei dati e li visualizzo (praticamente una view, ma senza view).
Ora dal pannello blocchi lo metto dentro alla region content. Però vorrei che si vedesse solo nella pagina "articoli", voce che vorrei creare nel menu principale... sapete quale è il modo corretto per farlo?

grazie mille!

controlla nelle opzioni dei blocchi c'è dove vuoi mostrarlo.
meglio se usi context.

ciao ealmuno,
si lo so che in struttura > blocchi trovi tutte le region dove inserire i blocchi.
Il fatto è che il mio blocco va nel content region, ma vorrei che si vedesse solo quando uno va sulla pagina articoli. In questa pagina si deve vedere solo il mio blocco e non gli altri contenuti.
Inoltre non capisco come creare la voce nel menu, ovvero che link devo mettere.

Ma sto riflettendo sul fatto che io ho creato un modulo che crea un blocco, mentre invece dovrei creare una view.
Infatti ho usato:

function mio modulo_block_view($delta = ''){ bla bla bla}

usando quindi hook_block_view... ho visto che cè anche hook_view, ma non so se fa al caso mio...
voi lo avete mai fatto?

grazie!

Sul nodo guarda la voce menu l'aggiungi da li o da menu.
Guarda una guida base di drupal e comincia da li.

eheheheh...
ealmuno, ti ringrazio di cuore, ma lascia stare...

Sto andando avanti nel cercare le info necessarie per rispondere alla mia domanda.
Mi sa che nello sviluppare un modulo si può creare la pagina e la relativa voce nel menu tutto da codice

<?php
  $items
['current_posts'] = array(
   
'title' => 'Current posts',
   
'page callback' => '_current_posts_page',
   
'access arguments' => array('access current_posts content'),
   
'type' => MENU_NORMAL_ITEM, //Will appear in Navigation menu.
 
);
?>

grazie!

ho trovato una soluzione... non penso sia molto ortodossa, ma per evitare di inoltrarsi veramente dentro la programmazione di un modulo penso sia sufficiente.

Per creare il modulo riassumo velocemente:
Creare cartella mio_modulo e metterla insieme agli altri moduli
Creare file mio_modulo.info e mio_modulo.module
(per questi dettagli guardare questo tutorial)

Nel file .modulo basta fare 3 funzioni:

function mio_modulo_help($path, $arg) {
  switch ($path) {
    case "admin/help#mio_modulo":
      return '<p>'.  t("Spieghi quello che fa il modulo.") .'</p>';
      break;
  }
}
/**
* Implements mio_modulo_block_info().
*/
function mio_modulo_block_info() {
  $blocks['mio_modulo'] = array(
    'info' => t('mio_modulo'), //The name that will appear in the block list.
    'cache' => DRUPAL_CACHE_PER_ROLE, //Default
  );
  return $blocks;
}
function mio_modulo_block_view($delta = '') {
  switch($delta){
    case 'mio_modulo':
      $block['subject'] = t('Mio Modulo');
      if(user_access('access content')){
                  $contenuti = 'bla bla bla'; // fai quello che devi fare e restituisci
  $block['content'] = $contenuti;
      }
  }
  return $block;
}

Ecco come ottenere una pagina linkata dal menu principale che contiene i contenuti recuperati dal modulo:
1) Creare un contenuto Pagina Base e chiamarla mio_modulo o quello che si vuole nel menu
2) Inserirla nella regione dove ci sono i contenuti principali e settare visibile solo in "nome della mia pagina base"
3) Settare i contenuti principali visibili ovunque tranne che in "nome della mia pagina base"

Questo funziona, poi quando troverò la soluzione via codice sarà più a regola d'arte!
Se avete info condividiamo!

ciao ciao