Modificare link voce di menu

informazioni utiliQuando si crea una nuova voce di un menu, bisogna scegliere il tipo, il nome e altre opzioni. Alcuni tipi di voci, come per esempio "Singolo articolo", crea automaticamente il link che, per ovvi motivi, non può essere modificato. Può succedere, però, che in alcuni casi si ha il bisogno di modificarli, magari per aggiungere una variabile nel link. Come possiamo fare? Semplicemente impostando il "readOnly" dell'input come false. Vediamo.




JOOMLA 1.6 - 1.7 - 2.5

Un metodo per ottenere questo risultato consiste nell'aggiungere del codice in una pagina di sistema. Per questo motivo, effettueremo la modifica utilizzando la tecnica dell'override: sempre con un client ftp (es. FileZilla), recarsi in "/administrator/components/com_menus/views/item/tmpl/" e salvare, per esempio nel nostro Desktop, i file "edit.php" e "index.html". Andiamo poi in "/administrator/templates/[MIO TEMPLATE DI SISTEMA]/html/". Qui, creiamo una nuova cartella di nome "com_menus". Ci entriamo dentro, copiamo il file "index.html" salvato precedentemente, e creiamo una nuova cartella di nome "item". Dentro quest'ultima cartella, copiamo sia il file "index.html" e sia "edit.php". Apriamo poi, con un editor, quest'ultimo file.
Alla riga 44, prima del tag "< /script>", inseriamo il codice:

function block_release_link_menu() {
	var e=document.getElementById("jform_link");
	if (e.readOnly==true) {
		e.readOnly=false;
	}
	else {
		e.setAttribute('readOnly','readonly');
	}
}

Infine, verso la riga 89, appena prima del tag "< /li>", inseriamo il codice:

<?php echo "<input class=\"\" name=\"button_block_release_link_menu\" type=\"button\" value=\"Blocca/Sblocca\" OnClick=\"block_release_link_menu()\">"; ?>

In questo modo, accanto al link spunterà un bottone che ci consentirà, cliccandoci, di sbloccare/bloccare l'input (vedere l'immagine sopra). In questo modo, lo sbloccheremo solo quando ne avremo realmente bisogno, non andando incontro a modifiche accidentali che potrebbero avvenire avendolo sempre sbloccato.


JOOMLA 1.5

Seguire tutti i passaggi della guida, facendo attenzione però che il file non si chiama "edit.php", ma "form.php" (è sempre nello stesso percorso). Una volta create le cartelle nel percorso e con i nomi detti sopra, e copiati nella cartella item, aprire il file con un editor e incollare la porzione di codice
function block_release_link_menu() {
	var e=document.getElementById("jform_link");
	if (e.readOnly==true) {
		e.readOnly=false;
	}
	else {
		e.setAttribute('readOnly','readonly');
	}
}
nella riga 48, appena prima del tag "< /script>". Successivamente incollare la seconda porzione di codice
<input onclick="block_release_link_menu()" name="button_block_release_link_menu" type="button" value="Blocca/Sblocca" />
(ma va bene anche il codice per Joomla 1.6,1.7,2.5) nella riga 114, appena prima il tag "< /td>".
Infine, nella riga 113, all'interno dell'input, incollare il codice id="jform_link", così da farlo diventare
<input id="jform_link" class="inputbox" name="link" size="50" type="text" />


Lo script è stato testato su Firefox, Chrome e IE9, e non dovrebbero esserci problemi su altri browser.


Script e Guida realizzati da Gabriele Verona.

CommentaCommenta questo articolo sul forum
Commenta su G+Oppure commenta e condividi questo articolo sulla nuova pagina ufficiale di Joomla.it su Google+