logo

Extra Block Types (EBT) - Nuova esperienza con Layout Builder❗

Extra Block Types (EBT) - tipi di blocchi stilizzati e personalizzabili: Slideshows, Tabs, Cards, Accordion e molti altri. Impostazioni integrate per sfondo, DOM Box, plugin javascript. Vivi oggi il futuro della costruzione dei layout.

Demo moduli EBT Scarica moduli EBT

❗Extra Paragraph Types (EPT) - Nuova esperienza con Paragraphs

Extra Paragraph Types (EPT) - insieme di moduli basati su paragrafi in modo analogo.

Demo moduli EPT Scarica moduli EPT

Scorri

Problema con hook_block_info

22/02/2025, by Anonimo (non verificato)

 

 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?