Attributo title nelle voci di menu di Joomla! 1.5

Tale attributo, importante non solo per una migliore indicizzazione di Joomla! nei motori di ricerca, ma anche per un fatto puramente di accessibilità, con annessa spiegazione della pagina di destinazione alla quale porta un determinato link, mi ha fatto perdere non poco la pazienza a tal punto da farmi perdere un bel pò di tempo.

Al primo tentativo, pensando che il core di Joomla! 1.5 fosse simile, per alcuni aspetti, a quello di Joomla! 1.0, non ci sono riuscito; ok, mi sono detto, desisto, momentaneamente.

Provando a leggere qualche post nei forum in cui bazzico, ho messo mano in qualche file che mi ha portato al blocco totale del sito. Ripristino il tutto e torno a vedere le pagine ma... non mi sono accontentato; dovevo riuscire a far visualizzare l'attributo title sulle voci di menu.

Dovendo realizzare un template per Joomla! 1.5 per un cliente, ho affrontato il menu come il toro dinanzi ad torero: morale della favola, ci sono riuscito.

Rimbocchiamoci le maniche... al lavoro!

Il modulo che attiene alla creazione di un menu in Joomla! 1.5, come anche per Joomla! 1.0, è il modulo main_menu; tale modulo lo troviamo al seguente percorso: /modules/mod_mainmenu.

Una volta entrati nella cartella, raggiungibile via FTP, trasferire sul proprio pc il file legacy.php. Aprire tale file con un editor di testo in vista codice e portarsi al rigo 139, nel quale è scritto:

default : // formerly case 2
// open in parent window
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';

Provando ad apportare una piccolissima modifica al codice PHP, si tratta più che altro di un'aggiunta, possiamo vedere l'attributo title sulle voci di menu. Se si teme di fare danni al suddetto file, meglio fare una copia dell'originale, altrimenti procediamo.

Il terzo rigo di codice riportato su lo possiamo commentare; immediatamente sotto avremo:

$txt = '<a href="'.$mitem->url. '" class="'. $menuclass.'" title="'.$mitem->name.'" '.$id.'>'. $mitem->name . '</a>'; 

N.B. Tale modifica si riferisce ad un menu di tipo Legacy.

Vediamo adesso come far apparire il tag title sulle voci di menu di tipo List.

Si raggiunga, via FTP, il seguente file: modules/mod_mainmenu/helper.php. Scaricare il suddetto file sul nostro desktop. Portarsi indicativamente alla riga 360 ed individuare il rigo di codice:

$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';

Esso deve diventare:

$data = '<a title="'.$item->name.'" href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';

Questo è quanto. Fatte le due modifiche... et voilà! le nostre voci di menu sono complete dell'attributo title.

© www.extrowebsite.com - Grafica, layout, articoli e guide sono di esclusiva proprietà del webmaster - Tutti i diritti riservati