Kreatore.it

Sviluppo applicativi Lamp

Un tab per le categorie

Scritto da: | Categorie: ,

Links Tabs Category

Per la sezione link del sito, ho utilizzato il plugin Tabs() di Jquery. Nel farlo, ho voluto automatizzare l’inserimento di nuove categorie e di contenuti in modo da ottenere automaticamente nuovi blocchi di link, già inclusi nella funzione tabs.

La funzione Tabs() non richiede caratteristiche particolari, ma lo scoglio principale al quale si va in contro è il fatto che la funzione category_list di TXP crei si l’elenco delle categorie, ma lo faccia richiamando la pagina e passando i valori.
Un aiuto che ci arriva con TXP 4.xx è l’inserimento dell’attributo form per la funzione catgory list, il che ci permette di personalizzare pienamente come verrà visualizzato il menu per i diversi Tabs.

A differenza di quello che si potrebbe supporre inizialmente, non bisogna fare una chiamata alle categorie e successivamente una chiamata ai link, ma servono due chiamate alle categorie.

 <txp:category_list type="link" wraptag="ul" break="li" form="link_UI_nav" sort="title asc"/>
<txp:category_list type="link" form="link_UI_panel"/>

Con la prima chiamata creiamo il menu delle categorie, ordinate per titolo e le visualizziamo utilizzando il form link_UI_nav con la seconda invece richiamiamo ancora le categorie, per differenziare e automatizzare la chiamata dei vari links tramite il form link_UI_panel
Ho utilizzato la specifica UI per indicare che sto creando dei form da utilizzare con Jquery UI.

Link UI Nav

Questo form crea il menu per la funzione Tabs() quindi ha bisogno di semplici ancore interne alla pagina: <a href="#link_<txp:category />"><txp:category title="1"/></a>
Otterremo cosi una lista non ordinata di elementi che puntano ad oggetti identificati con link_nomecategoria

Link UI Panel

Questo form invece ha il compito di visualizzare l’elenco dei link, suddivisi per categoria. Qui nasce il più ostico dei problemi, poichè la funzione linklist che si occupa appunto di elencare i links, non riesce a identificare le categorie tramite l’attributo category.
Quindi il comando <txp:linklist sort="date desc" wraptag="dl" category="<txp:category />"/> non restituisce il risultato voluto.
Sfruttando però la capacità della funzione di recuperare la catgoria dalla variabile globale $c possiamo utilizzare la funzione mck_set_global imposta in questo caso il valore della variabile globale $c alla categoria che restituita dalla funzione category.

<txp:mck_set_global c="<txp:category />" context="link"/>
<div id="link_<txp:category />">
<txp:linklist sort="date desc" wraptag="dl" form="link_UI_link"/>
</div>
Link IU link

L’ultimo form che utilizziamo si occupa semplicemente di visualizzare i link, utilizzando i tag dt e dd

<dt><txp:link /></dt> <dd class="link_<txp:link_category title="0" />"><txp:mck_link_description escape="" /></dd>
Jquery tabs()

La chiamata della funzione jquery è semplicissima: $('.links').tabs();
In questo modo avremo l’elenco dei links esterni gestiti tramite tabs ed automaticamente aggiornati ogni volta che inseriamo una categoria ed un nuovo link.

Potete vedere il risultato finale visualizzando la pagina dei link del sito.

Tags: , , , ,

Articoli Simili

Cerca per tag

admin, ajax, android, apache, app, audio, backup, beta, blog, bordi, browser, caffè, calcolo, calibre, categorie, cd, chrome, clienti, cloud, cms, condivisione, css3, csv, database, debian, desktop, download, drive, driver, dump, e-reader, evolution, file, firefox, flash, font, foto, freelance, funzioni, gd, gedit, gimp, htc, html5, iexplorer, immagini, indirizzo, inkscape, internet, ip, iphone, java, javascript, jquery, kivy, kv, less, lettura, link, linux, live, mac, macchina, mail, menu, mobile, mod, mp3, mysql, nautilus, network, newsletter, ombra, open office, opera, os, paypal, pdf, picasa, plugin, python, safari, skype, smartphone, smf, ssh, stampante, tabs, tag, tastiera, terminale, test, testo, textile, textpattern, theme, ubuntu, usb, video, web editor, website, windows, wysiwyg, xfce4, youtube

Cerca per categoria

© 2011 Kreatore.it :: Sito web realizzato da Marco Casalegno

TXP | Admin | Home | Back to Top

Tutte le informazioni e le immagini sono rilasciate sotto licenza secondo la Creative Commons License 2.0.