Taxonomy_list, mi serve di meglio!
Ciao a tutti ho installato il modulo taxonomy_list solo che funziona benissimo, solo che fa un display tabellare di tutto il vocabolario e non è quello che mi serve...
a me servirebbe il display di un vocabolario in stile ul li + che altro che i children siano nascosti e all'evento onclick compaiano sotto in javascript.
mi spiego meglio:
a
-a1
-a2
b
-b1
-b2
a me servirebbe che a1,a2,b1,b2 siano nascosti e quando l'utente clicca su "a" sotto spuntano a1 e a2 che invece portano alla view della taxonomy della lista prodotti relativi a quella tassonomia.
Qualcuno che ci sa fare con le api mi potrebbe dare una mano? ^^
http://www.ikarusweb.com - creazione siti web professionali

Risposte
[Risolto] con un pò di sudore e un pò di api
<?php$vid = 1;
$terms = taxonomy_get_tree($vid, $parent = 0, $depth = -1, $max_depth = 1);
print '<ul id="productsMenu" class="menu">';
foreach ( $terms as $key ) {
print '<li><a class="mainlevel">' .$key->name.'</a>';
$child = taxonomy_get_children($key->tid);
print '<ul>';
foreach ( $child as $childkey ) {
print '<li>' . l($childkey->name , "taxonomy/term/$childkey->tid"). '</li>';
}
print '</ul>';
print '</li>';
}
print '</ul>';
?>
Con questo codice estrapolo con $terms le categorie di primo livello, e sotto ciclo con il foreach ed estrapolo da $child le sottocatecorie con ul ed li ^^
p.s. per chi potesse interessare lo ho anche integrato con jQuery accordion usando questa function:
function initMenus() {
$('ul.menu ul').hide();
$.each($('ul.menu'), function(){
$('#' + this.id + '.expandfirst ul:first').show();
});
$('ul.menu li a').click(
function() {
var checkElement = $(this).next();
var parent = this.parentNode.parentNode.id;
if($('#' + parent).hasClass('noaccordion')) {
$(this).next().slideToggle('normal');
return false;
}
if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
if($('#' + parent).hasClass('collapsible')) {
$('#' + parent + ' ul:visible').slideUp('normal');
}
return false;
}
if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#' + parent + ' ul:visible').slideUp('normal');
checkElement.slideDown('normal');
return false;
}
}
);
}
$(document).ready(function() {initMenus();});
Vi conviene salvare in un .js ad esempio menu.js ed includerlo con: drupal_add_js( 'sites/all/themes/vostrotema/menu.js');
nel template.php.
Il resto è css!
spero di esservi stato utile :P
http://www.ikarusweb.com - creazione siti web professionali
salve a tutti, sarebbe
salve a tutti,
sarebbe possibile fare la stessa cosa ma avere il accordion associato ad un content di tipo book per avere il multi livello ?
Grazie per il vostro aiuto
Un'alternativa poteva forse
Un'alternativa poteva forse essere http://drupal.org/project/taxonomy_menu + http://drupal.org/project/dhtml_menu.
@toutanne: il secondo modulo (vedi http://dev.ermarian.net/dhtml_menu/) può essere usato per la navigazione dei libri, forse può esserti utile.
Ho provato dhtml menu ma a me
Ho provato dhtml menu ma a me servirebbe piu una cosa del genere
http://sandbox.leigeber.com/javascript-accordion/index.html
Prova a vedere
Prova a vedere http://drupal.org/project/accordion_menu
lo uso gia, ma non sopporta
lo uso gia, ma non sopporta il multilivello :(
Ciao. Il modulo book
Ciao.
Il modulo book memorizza la gerarchia esattamente come menu, nella medesima tabella per giunta. E` sempre una relazione multi livello padre/figli nidificata.
Questa API :
menu_tree_all_data(book_menu_name($bid))restituisce un array della struttura del book.
E` sufficiente formattare l'output come richiesto da TinyAccordion e poi applicare il Javascript.
--
http://speedtech.it/it
http://robertogerola.com/it
Ciao Roberto, Grazie per la
Ciao Roberto,
Grazie per la tua risposta. Non ho molto esperienza ma ho un idea di come si puo fare adesso. caso mai verro a rompere un po ;)
Grazie