Back to top

Autore Topic: Attributo title nel mainmenù  (Letto 7877 volte)

Offline max78

  • Esploratore
  • **
  • Post: 73
  • Sesso: Maschio
    • Mostra profilo
Attributo title nel mainmenù
« il: 28 Ago 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?

Offline tonicopi

  • Global Moderator
  • Instancabile
  • ********
  • Post: 12790
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #1 il: 29 Ago 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. ;)
joomlacsszengarden.com = il giardino dei css di Joomla!
L'attesa del piacere è essa stessa... piacere!

Offline max78

  • Esploratore
  • **
  • Post: 73
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #2 il: 29 Ago 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!

Offline tonicopi

  • Global Moderator
  • Instancabile
  • ********
  • Post: 12790
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #3 il: 29 Ago 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.
joomlacsszengarden.com = il giardino dei css di Joomla!
L'attesa del piacere è essa stessa... piacere!

Offline max78

  • Esploratore
  • **
  • Post: 73
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #4 il: 29 Ago 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 ;)

Offline max78

  • Esploratore
  • **
  • Post: 73
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #5 il: 01 Set 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;

Offline tonicopi

  • Global Moderator
  • Instancabile
  • ********
  • Post: 12790
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #6 il: 01 Set 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?
 :)
« Ultima modifica: 01 Set 2008, 02:37:29 da tonicopi »
joomlacsszengarden.com = il giardino dei css di Joomla!
L'attesa del piacere è essa stessa... piacere!

ViperSoulOwner

  • Visitatore
Re: Attributo title nel mainmenù
« Risposta #7 il: 26 Set 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?

Offline max78

  • Esploratore
  • **
  • Post: 73
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #8 il: 26 Set 2008, 12:04:53 »
mmm... strano, controlla l'HTML generato e facci sapere...

ViperSoulOwner

  • Visitatore
Re: Attributo title nel mainmenù
« Risposta #9 il: 28 Set 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>

Offline max78

  • Esploratore
  • **
  • Post: 73
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #10 il: 29 Set 2008, 10:32:11 »
l'unica cosa che mi viene in mente è che qualche apice abbia interrotto il codice PHP

Offline floyd1616

  • Appassionato
  • ***
  • Post: 497
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #11 il: 17 Ott 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?


Offline device78

  • Esploratore
  • **
  • Post: 115
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #12 il: 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]';

Offline floyd1616

  • Appassionato
  • ***
  • Post: 497
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #13 il: 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

Offline tonicopi

  • Global Moderator
  • Instancabile
  • ********
  • Post: 12790
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #14 il: 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:
Codice: [Seleziona]
$txt = '<a href="' . $mitem->URL . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';Con questa:
Codice: [Seleziona]
$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
joomlacsszengarden.com = il giardino dei css di Joomla!
L'attesa del piacere è essa stessa... piacere!

Offline floyd1616

  • Appassionato
  • ***
  • Post: 497
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #15 il: 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




Offline tonicopi

  • Global Moderator
  • Instancabile
  • ********
  • Post: 12790
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #16 il: 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ù. 
joomlacsszengarden.com = il giardino dei css di Joomla!
L'attesa del piacere è essa stessa... piacere!

Offline floyd1616

  • Appassionato
  • ***
  • Post: 497
  • Sesso: Maschio
    • Mostra profilo
Re: Attributo title nel mainmenù
« Risposta #17 il: 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

Offline max78

  • Esploratore
  • **
  • Post: 73
  • Sesso: Maschio
    • Mostra profilo
Re:Attributo title nel mainmenù
« Risposta #18 il: 09 Dic 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
Codice: [Seleziona]
modules\mod_mainmenu\tmpl\default.php
in
Codice: [Seleziona]
templates\miotemplates\html\mod_mainmenu\default.php
modificato il file default.php appena copiato come segue:

Codice: [Seleziona]
...
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;
...

Offline conti1

  • Global Moderator
  • Instancabile
  • ********
  • Post: 9075
  • Sesso: Maschio
    • Mostra profilo
Re:Attributo title nel mainmenù
« Risposta #19 il: 14 Dic 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
Codice: [Seleziona]
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';


e modifichiamola così

Codice: [Seleziona]
$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

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

Codice: [Seleziona]
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" title="'.$mitem->name.'
" ' . $id . '>' . $mitem->name . '</a>';
« Ultima modifica: 14 Dic 2010, 11:25:02 da conti1 »
se possibile postare il link  x risolvere al meglio il problema grazie
evitare nomi commerciali grazie

 



Web Design Bolzano Kreatif