Costruzione di un link (per tassonomia)

8 contenuti / 0 new
Ultimo contenuto
Costruzione di un link (per tassonomia)

Avevo la necessità di elencare i termini di un vocabolario della tassonomia.
Ho trovato questo script che funziona

<?php
$vid
= 1; /* ID del vocabolario della taxonomy */
   
$terms = taxonomy_get_tree($vid);
    print
"<ul>";
    foreach (
$terms as $term )
    {
        print
"<li>".
       
l($term->name,'taxonomy/term/'.$term->tid, array('title' => $term->name)).
       
"</li>";
    }
 
?>

Quindi ottengo l'elenco delle parole. Il risultato è questo e non mi piace:
<li><a href="/taxonomy/term/4">Parola</a></li>
Non mi piace perchè manca l'attributo title="qualcosa" dentro il tag A.
Credevo che questo " array('title' => $term->name)" servisse allo scopo ma a quanto pare non è così...

Mi sapete aiutare?
Tnx

Devi usare la key 'attributes'.
http://api.drupal.org/api/function/l/6

Pinolo wrote:
Devi usare la key 'attributes'.
http://api.drupal.org/api/function/l/6[/quote]
Ma non c'è già? Il link viene generato in questo modo
<?php
 l
($term->name , 'taxonomy/term/'.$term->tid , array('title' => $term->name))
?>

quindi le virgole "dividono in tre" la riga come dice il link che mi hai passato

<?php
 l
($text, $path, $options = array())
?>

Cosa non ho capito? :(

Ciao

la funzione l() serve proprio a questo.
$output .= l("Nome del link", 'path link', array('title'=>'descrizione') );

Ritorna:
<a href="/sito/?q=node" title="descrizione">Nome del link</a>

Non ho sotto mano un d6 ma non credo che cambi nulla.

Uccio wrote:

la funzione l() serve proprio a questo.
$output .= l("Nome del link", 'path link', array('title'=>'descrizione') );

Ritorna:
<a href="/sito/?q=node" title="descrizione">Nome del link</a>

Non ho sotto mano un d6 ma non credo che cambi nulla.


Allora perchè questo:
l($term->name,'taxonomy/term/'.$term->tid, array('title' => $term->name))

Mi restituisce questo
<a href="/taxonomy/term/4">Parola</a>

E non questo????
<a href="/taxonomy/term/4" title="Parola">Parola</a>

Cosa mi sfugge?

Guarda ho sottomano la funzione che ho usato in un modulo per drupal 5 ed effettivamente è come dici tu, ti riporto la riga:
l('www.sito.com', 'http://www.sito.com', array('target' => '_blank'));
Se tu stai usando drupal 6 leggi la documentazione perchè il modo di chiamarla è diversa, in quanto richiede un array indicizzato. La chiave che ti interessa è 'attributes'.

In base alla documentazione di D6, scriverei così:
l($term->name,'taxonomy/term/'.$term->tid, array('attributes=>'array('title' => $term->name)))

Pinolo wrote:
In base alla documentazione di D6, scriverei così:
l($term->name,'taxonomy/term/'.$term->tid, array('attributes=>'array('title' => $term->name)))

Perfetto funziona benissimo (se si corregge il tuo errore di battitura :))

Eccolo qua:

<?php
l
($term->name, 'taxonomy/term/'.$term->tid, array('attributes' => array('title' => $term->name)))
 
?>