Joomla.it Forum

Joomla! 1.5.x (versione con supporto terminato) => Joomla! 1.5 => : max78 28 Aug 2008, 19:14:47

: Attributo title nel mainmenù
: max78 28 Aug 2008, 19:14:47
Ciao a tutti,
mi sono accorto che manca l'attributo title nei link creati con il modulo mod_mainmenu, che file devo modificare per inserirli?
: Re: Attributo title nel mainmenù
: tonicopi 29 Aug 2008, 01:15:12
La tua richiesta mi ha incuriosito. In effetti manca la possibilità di inserire l'attributo title nelle voci di menù di Joomla. Nè esiste un file dove tu possa inserirli a mano.
Infatti joomla costruisce i menù richiamando le voci da una tabella del database. Non esiste in quella tabella il campo per inserire l'attributo title. Anche facendolo non sarebbe poi richiamato dalle queryes che costruiscono i menù. Bisognerebbe allora scrivere una bella botta di codice in diversi files.
Meglio lasciar fare agli sviluppatori di jommla! se riterranno di farlo. ;)
: Re: Attributo title nel mainmenù
: max78 29 Aug 2008, 10:49:35
nel mio caso non serviva un campo a parte nel db, ma la possibilità di inserire il nome del link come attributo title, ho risolto modificando il file modules/mod_mainmenu/helper.php alla riga 342

ho sostituito:
// _top
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'[/url]';
break;

con:
// _top
$titolo = stripslashes(htmlspecialchars($item->name));
$data = '<a title="'.$titolo.'" href="'.$tmp->url.'">'.$image.$tmp->name.'[/url]';               
break;

e il gioco è fatto ;)
spero che gli sviluppatori apportino questa semplice ma necessaria modifica al modulo nelle prossime release

ciao!
: Re: Attributo title nel mainmenù
: tonicopi 29 Aug 2008, 14:52:39
Sei stato bravissimo a cavartela in questo modo!!!
Richiamando nel codice il nome della voce di menù che va così a finire nell'attributo title. Ma non ha gran significato mettere un title identico alla voce stessa. Per questo secondo me andrebbe inserito un campo nel modulo ove si crea la voce di menù con la possibilità di inserire tale attributo.
: Re: Attributo title nel mainmenù
: max78 29 Aug 2008, 14:59:47
sicuramente farebbe molto comodo un campo ad HOC, ma così è già qualcosa...
Stavo pensando che in alternativa gli si potrebbe fare leggere il valore del "page_title" e dove non fosse stato impostato fargli prendere il nome del collegamento.
Appena ho un attimo di tempo faccio due prove ;)
: Re: Attributo title nel mainmenù
: max78 01 Sep 2008, 01:51:17
detto... fatto!
Il codice da sostituire all'originale alla riga 342 è:
// _top               
$menu_params = new JParameter($tmp->params);
$page_title = stripslashes(htmlspecialchars($menu_params->get('page_title')));
$titolo = $page_title ? $page_title : stripslashes(htmlspecialchars($item->name));
$data = '<a title="'.$titolo.'" href="'.$tmp->url.'">'.$image.$tmp->name.'[/url]';               
break;
: Re: Attributo title nel mainmenù
: tonicopi 01 Sep 2008, 02:22:09
Bravissimo! Già prendere il titolo dell'articolo e metterlo nell'attributo title della voce di menù mi sembra un bel passo avanti!
Qui trovi il quesito di una tenera fanciulla che vorrebbe ottenere qualcosa di simile nella componente links
http://forum.joomla.it/index.php/topic,49729.msg214549.html#msg214549
Puoi aiutarla?
 :)
: Re: Attributo title nel mainmenù
: ViperSoulOwner 26 Sep 2008, 02:10:13
Ho apportato anch'io le modifiche consigliate da max78 ma riscontro un grosso problema: appena accedo alla home page del sito l'unico link visibile è "home", tutti gli altri spariscono. Come se non esistessero. :o
Come mai una cosa del genere?
: Re: Attributo title nel mainmenù
: max78 26 Sep 2008, 12:04:53
mmm... strano, controlla l'HTML generato e facci sapere...
: Re: Attributo title nel mainmenù
: ViperSoulOwner 28 Sep 2008, 15:29:32
Cosa posso aggiungere? Dall'html generato risulta creato solo il link "Home" . Gli altri non compaiono proprio.
Questa è la gerarchia:

div id="links"  (il mio div "contenitore")
     ul class="menu"
          li id="current" class="active item1">
               a href="http://www.dolcevitaromana.com/"
                    <span>Home</span>
: Re: Attributo title nel mainmenù
: max78 29 Sep 2008, 10:32:11
l'unica cosa che mi viene in mente è che qualche apice abbia interrotto il codice PHP
: Re: Attributo title nel mainmenù
: floyd1616 17 Oct 2008, 10:58:43
Effettivamente anche a me succede la stessa cosa dell'amico ViperSoulOwner. 3 messaggi su sfondo rosso ed appaiono solo le prime voci dei menu presenti nella pagina. Guardando l'html prodotto, non ci sono - almeno pare - errori dovuti ad apici ecc... qualcuno ha avuto modo di risolvere?
grazie 1000
Floyd

Ho apportato anch'io le modifiche consigliate da max78 ma riscontro un grosso problema: appena accedo alla home page del sito l'unico link visibile è "home", tutti gli altri spariscono. Come se non esistessero. :o
Come mai una cosa del genere?

: Re: Attributo title nel mainmenù
: device78 21 Nov 2008, 14:46:03
Effettivamente anche a me succede la stessa cosa dell'amico ViperSoulOwner. 3 messaggi su sfondo rosso ed appaiono solo le prime voci dei menu presenti nella pagina. Guardando l'html prodotto, non ci sono - almeno pare - errori dovuti ad apici ecc... qualcuno ha avuto modo di risolvere?
grazie 1000
Floyd

Ho apportato anch'io le modifiche consigliate da max78 ma riscontro un grosso problema: appena accedo alla home page del sito l'unico link visibile è "home", tutti gli altri spariscono. Come se non esistessero. :o
Come mai una cosa del genere?



anche a me non andava....
ho corretto cosi

$titolo = stripslashes(htmlspecialchars($item->name));
$data = '<a title="'.$titolo.'" href="'.$tmp->url.'">'.$image.$tmp->name.'[/url]';
: Re: Attributo title nel mainmenù
: floyd1616 22 Nov 2008, 20:37:44
ciao a tutti
io ho risolto, credo, senza aggiungere nessun codice esterno;
l'articolo è il seguente: http://www.jextrowebsite.com/index.php/joomla-15/attributo-title-nelle-voci-di-menu-in-joomla-15/

saluti
Floyd
: Re: Attributo title nel mainmenù
: tonicopi 22 Nov 2008, 21:06:09
Ciao! :) Io ho apportato la modifica in locale ma non funziona. Se ho capito bene il tuo articolo devo modificare una stringa del file modules/mod_maninmenu/legacy.php sostituendo questa:
:
$txt = '<a href="' . $mitem->URL . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';Con questa:
:
$txt = '<a href="'.$mitem->URL. '" class="'. $menuclass.'" title="'.$mitem->name.'" '.$id.'>'. $mitem->name . '</a>';ma non appare il title quando vado con il mouse sopra i menù. Cosa faccio di sbagliato?

Un'altra domanda: che valore prende come title?

Grazie
: Re: Attributo title nel mainmenù
: floyd1616 22 Nov 2008, 21:27:01
ciao tonicopi
per la stringa... è quella; controlla meglio semmai;
il valore che prende è il nome che dai alla voce di menu;
se hai una voce del tipo: Dove siamo, il title è: Dove siamo
saluti,
Floyd



: Re: Attributo title nel mainmenù
: tonicopi 23 Nov 2008, 00:41:23
Perdonami Giuseppe ma ho rifatto un paio di volte la procedura sia on-line che in locale e l'attributo title non si verifica.
Qualcun'altro o tu stesso può provare  a farlo? Non vorrei che ci fosse qualcosa di sbagliato nel codice.

Poter inserire l'attributo title in un menù è una cosa che dovrebbe esser presente di default in Joomla! accidenti! Poterlo fare con questa modifica è importante ma resta il limite che il title coincide con il nome del menù. 
: Re: Attributo title nel mainmenù
: floyd1616 23 Nov 2008, 10:52:32
ciao Toni
il codice a me funziona; ho apportato la modifica al file legacy.php del core di joomla 1.5 e vedo i title nelle voci di menu.
Purtroppo nn posso mostrarti il sito, adesso, in quanto non è ancora terminato da parte del proprietario. Non appena è terminato, lo metterò nel mio portfolio.
Saluti
Floyd
: Re:Attributo title nel mainmenù
: max78 09 Dec 2010, 10:21:54
ciao a tutti,
a distanza di oltre un anno, mi sono ritrovato con la stessa esigenza, solo che stavolta non volevo sovrascrivere il core di joomla.

Ecco come ho risolto:
ho compiato il file
:
modules\mod_mainmenu\tmpl\default.php
in
:
templates\miotemplates\html\mod_mainmenu\default.php
modificato il file default.php appena copiato come segue:

:
...
function modMainMenuXMLCallback(&$node, $args)
{
global $itemid; //------------------------------ riga inserita
$user = &JFactory::getUser();
$menu = &JSite::getMenu();
$active = $menu->getActive();

//------------------------------ inizio codice inserito
if($node->attributes('id') != "" ){
$itemid = $node->attributes('id');
}
if ($node->name() == 'a'){
$item = $menu->getItem($itemid);
$menu_params = new JParameter( $item->params );
$title = $menu_params->get( 'page_title') ? $menu_params->get('page_title') : $item->name;
if($title) {$node->addAttribute('title', $title);}
}
//------------------------------ fine codice inserito

$path = isset($active) ? array_reverse($active->tree) : null;
...
: Re:Attributo title nel mainmenù
: conti1 14 Dec 2010, 11:19:15
ciao
mi intrufolo nella discusione
visto  e letto
la discussione, basterebbe  fare in questo modo
Nel file modules/mod_mainmenu/helper.php
:
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';


e modifichiamola così

:
$data = '<a title="'.$item->name.'" href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
Per quanto riguarda i menu di tipo "Legacy", il file da modificare è modules/mod_mainmenu/legacy.php

:
$txt = '<a class="' . $menuclass . '" href="' . $mitem->url . '">' . $mitem->name . '</a>';
sostituiamola con

:
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" title="'.$mitem->name.'
" ' . $id . '>' . $mitem->name . '</a>';
: Re:Attributo title nel mainmenù
: andreamatta 31 Jan 2011, 12:24:33
Chiedo:
ho provato a fare l'override in un template che utilizza EXMENU a tendina, e la cosa non funziona, ovvero l'attributo title non compare!
E' possibile fare qualcosa?
Grazie.
: Re:Attributo title nel mainmenù
: max78 31 Jan 2011, 14:26:46
exmenu inserisce in automatico l'attributo title, devi controllare che nei parametri del modulo l'impostazione "Link Title" sia su "yes"
: Re:Attributo title nel mainmenù
: andreamatta 31 Jan 2011, 15:29:38
Grazie max: informazione esatta!