Scorri
Problema con hook_block_info
Forum
Buon pomeriggio!
Sto cercando di creare blocchi programmaticamente.
Lo faccio nel mio modulo in questo modo
function about_block_info(){
$blocks['about_company'] = array(
'info' => 'Informazioni sull\'azienda',
'status' => TRUE,
'region' => '',
'weight' => 0,
'visibility' => 1,
'cache' => DRUPAL_NO_CACHE,
);
$blocks['first_red_text_item'] = array(
'info' => 'Testo a comparsa per la prima colonna del blocco rosso (pagina principale)',
'status' => TRUE,
'region' => '',
'weight' => 0,
'visibility' => 1,
'cache' => DRUPAL_NO_CACHE,
);
return $blocks;
}
function about_block_configure($delta){
$form = array();
switch($delta){
case 'about_company':
$form['about_content_title'] = array(
'#type' => 'textfield',
'#title' => 'Titolo del blocco sulla pagina principale',
'#size' => 15,
'#description' => 'Ad esempio: "Informazioni sull\'azienda"',
'#default_value' => variable_get('about_company_title','Informazioni sull\'azienda'),
);
$form['about_content_text'] = array(
'#type' => 'textarea',
'#title' => 'Testo breve sulla pagina principale',
"#rows" => 5,
"#cols" => 20,
'#description' => 'Sarà visualizzato come anteprima del testo sulla pagina principale',
'#default_value' => variable_get('about_company_text','È stata la prima istituzione educativa indipendente ufficialmente registrata nel nostro paese, che all\'epoca era ancora chiamato URSS. È stata creata con l\'obiettivo di formare traduttori professionisti di alto livello, poiché non c\'erano analoghi di tali istituti nell\'URSS in quel periodo. '),
);
$form['address'] = array(
'#type' => 'textfield',
'#title' => 'Indirizzo della pagina con i dati sull\'azienda',
'#size' => 15,
'#description' => 'Ad esempio: about',
'#default_value' => variable_get('about_company_address','about'),
);
break;
case 'first_red_text_item':
$form['first_red_text'] = array(
'#type' => 'textarea',
'#title' => 'Testo per il blocco a comparsa (prima colonna)',
"#rows" => 5,
"#cols" => 20,
'#description' => 'Testo a comparsa',
'#default_value' => variable_get('first_red_text1',''),
);
$form['first_red_text_address'] = array(
'#type' => 'textfield',
'#title' => 'Indirizzo della pagina a cui si riferisce il testo a comparsa',
'#size' => 15,
'#description' => 'Ad esempio: about',
'#default_value' => variable_get('first_red_text_address1',''),
);
break;
}
return $form;
}
function about_block_save($delta = '', $edit = array()){
switch($delta){
case 'about_company':
variable_set('about_company_title',$edit['about_content_title']);
variable_set('about_company_text',$edit['about_content_text']);
variable_set('about_company_address',$edit['address']);
break;
case 'first_red_text_item':
variable_set('first_red_text1',$edit['first_red_text']);
variable_set('first_red_text_address1',$edit['first_red_text_address']);
break;
}
return;
}
:
Quindi, nel pannello di amministrazione appare il blocco "Informazioni sull'azienda" e funziona tutto correttamente, mentre il secondo blocco no. Dove sta l'errore?
- Accedi per poter commentare