Forum 

Come far sì che le categorie IMMAGINI mostrino sia il num. di sottocategorie che il numero di foto c

Autore Messaggio
Sirius

Principiante
Principiante
6 Discussioni



Profilo - Sirius
04 marzo 2004 alle 15:11:23 Profilo - SiriusInvia un messaggio privato sirsirius@hotmail.com Rispondi quotando
Riscrivo qui in mio post di risposta ad un quesito avanzato da Caponord, relativo al fatto che nelle categorie immagini compare fra parentesi il numero di sottocategorie in esse contenute MA NON il numero di foto, con il risultato che se volessimo creare una sezione immagini che faccia solo da contenitore per altre categorie, l'utente non sarebbe molto stimolato a cliccarla in quanto al fianco del titolo compare la scritta (0) (ovvero zero immagini inserite, mentre gli album al suo interno ne contengono).

Ecco il mio post integrale, che potete trovare anche al seguente indirizzo:
http://www.aspnuke.it/forum/Forum.asp?forum=8&section=12&post=11950

---- inizio post ----

Ciao Caponord, se ti può interessare (credo proprio di si... ;) ) anch'io ho cercato di porre rimedio alla visualizzazione del numero 0 sulle macro-categorie che contengono sottocategorie ma non immagini.
Ho implementato una soluzione che forse non sarà stilisticamente eccezionale ma di sicuro è efficace.
In pratica modificando le query nella Sub Sub DisplayImagesNavigation(iCategoryParent) di /includes/images-inc.asp ed aggiungendone altre, ora visualizzo per ogni categoria (sia essa padre o figlia) sia il numero di immagini contenute (le visualizzo col termine "px" abbreviando l'inglese pics) sia il numero di sotto-categorie contenute (le visualizzo col termine "alb" abbreviazione di album). Inoltre ho fatto in modo che nella visualizzazione della pagina d'immagini, sotto la tabella delle macro categorie quella delle sottocategorie non apparisse col titolo di "Immagini - Sottocategorie" (che poco mi piaceva) ma come "Galleries in (titolo della macrocategoria)".
Le modifiche da apportare sono solo sulla Sub di cui sopra.

Vediamole:

subito sotto l'inizio della Sub:
' Display a navigation bar for images
' IN : iCategoryParent (int) : image's parent category (table categories, field cParent)
' OUT : -
Sub DisplayImagesNavigation(iCategoryParent)


modifica la stringa che dichiara le variabili aggiungendo le variabili oRs1 e oRs3 per effettuare due nuove query (sotto è riportata la modifica):

Dim oCn, oRs, oRs1, oRs2, oRs3, rSQL, iLine, iNum


Subito dopo la seguente query

rSQL = "SELECT cId, cTitle, cImage FROM categories WHERE cType=" & CATEGORY_TYPE_IMAGES & " and cParent=" & iCategoryParent & " ORDER BY cTitle"
Set oRs = DBRecordSet(oCn, rSQL)


ne va agginuta un'altra, che riporto qui di seguito:

rSQL = "SELECT cTitle FROM categories WHERE cID=" & iCategoryParent & ""
Set oRs1 = DBRecordSet(oCn, rSQL)


Subito dopo la stringa If Not oRs.EOF Then
si apre un if che andiamo a modificare per visualizzare il titolo della tabella delle macro categoria o delle sotto categorie con un linguaggio un po' più "user friendly" (come ho scritto sopra, io le visualizzo con la scritta "Immagini- Categorie" se si tratta di macro categoria e con la scritta "Galleries in -titolo macro categoria-" se si tratta di sotto categoria).

Ecco l'if modificato:

If iCategoryParent = 0 Then
CreateTopTable "SearchImagesCategories", GetTranslation("LANG_IMAGES") & " - " & GetTranslation("LANG_CATEGORIES")
Else
CreateTopTable "SearchImagesCategories", "Galleries in '" & oRs1("cTitle") & "'" & vbCRLF
End If



A questo punto risolvo il problema della visualizzazione di (0) a fianco alle categorie contenenti 0 immagini ma almeno una sotto categoria (la soluzione consente di non perdere l'informazione sul numero di immagini contenute ma la arricchisce col numero di album contenuti, invogliando così l'utente ad aprire la categoria anche quando le immagini in essa contenute risultino 0).

Ecco come ho fatto: dopo il ciclo While Not oRs.EOF

si apre un if per la costruzione delle righe della tabella, e subito dopo compare la query:

rSQL = "SELECT Count(iID) FROM images WHERE iValid=True AND iCategory=" & oRs("cID")
Set oRs2 = DBRecordSet(oCn, rSQL)


a cui dobbiamo aggiungerne un'altra, sotto riportata:

rSQL = "SELECT Count(cParent) FROM categories WHERE cParent=" & oRs("cID")
Set oRs3 = DBRecordSet(oCn, rSQL)



L' if subito seguente (sotto riporto l'originario)

If oRs("cImage") <> "" Then
Response.Write " <td width=""50%"" align=""center""><a href=""" & sURLPage & "?cat=" & oRs("cID") & """><img src=""" & Server.HTMLEncode(oRs("cImage")) & """ border=""0"" alt=""" & oRs("cTitle") & """><br>" & Server.HTMLEncode(oRs("cTitle")) & " (" & oRs2(0) & ")</td>" & vbCRLF
Else
Response.Write " <td width=""50%""><a href=""" & sURLPage & "?cat=" & oRs("cID") & """>" & Server.HTMLEncode(oRs("cTitle")) & " (" & oRs2(0) & ")</td>" & vbCRLF
End If


va modificato in questo modo:

If oRs("cImage") <> "" Then
Response.Write " <td width=""50%"" align=""center""><a href=""" & sURLPage & "?cat=" & oRs("cID") & """><img src=""" & Server.HTMLEncode(oRs("cImage")) & """ border=""0"" alt=""" & oRs("cTitle") & """><br>" & Server.HTMLEncode(oRs("cTitle")) & " (" & oRs2(0) & " px, " & oRs3(0) & " alb)</td>" & vbCRLF
Else
Response.Write " <td width=""50%""><a href=""" & sURLPage & "?cat=" & oRs("cID") & """>" & Server.HTMLEncode(oRs("cTitle")) & "(" & oRs2(0) & " px, " & oRs3(0) & " alb)</td>" & vbCRLF
End If


In parole povere dico: se la sottocategoria è corredata di immagine (N.B. non si tratta di un'immagine contenuta ma dell'immagine, opzionale, identificativa della categoria al momento della sua creazione) visualizzala nella colonna assieme al titolo della categoria, linkala alla pagina della categoria e scrivi quante immagini e quanti album essa contiene, nel formato (# px, # alb).

Ecco fatto, uploadate ora il vostro file include/images-inc.asp e le tabelle relative a tutte le immagini ed album inseriti precedentemente risulteranno riscritte in un formato un po' più gradevole e funzionale.

Potevo riportare l'intera Sub modificata ma ho preferito spezzettarla e commentarla per evidenziare il processo logico che ha portato a tali modifiche, dal momento che leggendo questo thread ho notato che non sempre si è capito bene il problema (legittimissimo) sollevato da Caponord.

Un saluto a tutte/i le/gli aspnukiane/i!

PS
Colgo l'occasione per fare 2 domande allo staff di aspnuke.it, anche se non rientrano con quanto detto sopra.

1) Prevedete di implementare e "opensourcizzare"(maròòò...) un mod per la visualizzazione dei profili degli iscritti un po' più carino dell'originario? (magari con incorporata la possibilità di uploadare direttamente la/le foto dell'iscritto). RedBaron, a tal proposito, il tuo è semplicemente meraviglioso!

2) A seguito di terrificanti (ma per ora temporanei...) messaggi di errore Sql del tipo "Risource Exceeded" (laddove il mio DB-MAIN attualmente si aggira su appena 670 kb...) e della lettura dei post qui riportati circa Aruba (che mi fa da hosting) ed il presunto blocco dei siti realizzati con Aspnuke, mi consigliate di trasferire tutto il sito altrove?

.::Grazie e alla prossima::.

Sirius

----- fine post -----

Spero di esservi stato utile.

Un saluto a tutte/i
Sirius
---------------
The Foolish Crowd Never Quite Understands...
The Worth Of A Soul...And The Change That Is Wrought...
By The Touch Of Master's Hand...

Log in

Login
Password
Memorizza i tuoi dati:

Cerca

 

Sostieni AspNuke

Un piccolo gesto per aiutarci a mantenere AspNuke.it online

Promo

MusicWebItalia.it
Video Testi Traduzioni Spot Colonne sonore Accordi e Spartiti gratis.

Visitatori

Visitatori Correnti : 70
Membri : 0 offline Anna

Iscritti

 Utenti: 18940
Ultimo iscritto : glauco
Lista iscritti
Messaggi privati: 3373 Commenti: 2210 Immagini: 39 Downloads: 144 Articoli: 49 Pagine: 101 Siti web: 425 Notizie: 180 Sondaggi: 11 Preferiti: 209337 Post sui forum: 51195 Libro degli ospiti: 4 Eventi: 7

Versioni

Temi