Tutorial Avanzati
Home
News
Forum
Moduli
Contatto
Faq
Login
Nome utente:
Password:
Hai perso la password?
Registrati ora!
Ricerca
Ricerca avanzata
Community
Download
Moduli
Temi
Core
Forum
Xoops 2.0.x
Xoops 2.2.x
Traduzioni
Tutorials
Base
Avanzati
Sviluppo
Risorse
Progetto Lister
Archivio Link
Recensioni Moduli
Collaborare
Invia News
Proponi Tutorial
Invio Traduzioni
Segnala Link
Invia DESC Modulo
Supporto
FAQ
Contattaci
STAFF
Access Key
ALT+1
Home
ALT+2
News
ALT+3
Forum
ALT+4
Downloads
ALT+5
Contattaci
ALT+6
Faq
[Maiusc+Alt] con FFox 2
[Alt+Invio] con IExplorer
Statistiche
Utenti registrati:
Oggi: 0
Ieri: 3
Totali: 5691
Ultimo:
marco70
Utenti online:
Ospiti : 10
Membri : 0
Totali: 10
Lista utenti [
Popup
]
Invia via email
Indirizzo Email
Oggetto
Contenuto
Rendere invisibile un forum ai non addetti Poichè ultimamente sono molto preso dal lavoro, ho trascurato dolorosamente l'appunntamento con i miei tutorial, che si sono fermati a soapbox. Ho pensato allora di aggiornare il "magazzino" degli stessi, scrivendo articoli che parlano direttamente dell'esperienza che sto vivendo attualmente a contatto con le esigenze dei clienti, che possono essere tra le più svariate. Attualmente mi è stato chiesto di rendere invisibile il link del forum privato nella index del modulo. Come fare? SOLUZIONE Ho cercato ovviamente tra le opzioni del modulo. Nulla di nulla. Non esiste una opzione che mi permette di rendere il forum privato invisibile a chi non vi deve accedere. Chi non puo' accedere VEDE il link, ma se clicca, gli viene restituito nella redirect: "Non puoi accedere al forum privato". Credo che nella versione 2.0 è possibile nasconderlo, ma non mi fido a mettere in produzione un modulo alla versione beta4. Quindi non c'è altra strada: studiarsi il codice e capire come funziona, e poi trovare l'escamotage che permette di fare cio che il cliente si aspetta. Non mi piace andare a toccare il codice dei forum. Ho sempre cercato di evitarlo...non mi piacciono. Li trovo incasinatissimi da programmare, e ancora peggio da capire. newpost, reply, reply alla reply le query le date ...un casino. ma tant'è...il cliente paga.... Inizialmente ho cercato di agire sul file php...ci ho ragionato parecchio ma non ne venivo a capo...oppure trovavo il modo ma mi sembrava troppo macchinoso. Volevo qualcosa di più semplice e immediato. Un modifica di non più di qualche riga che oscurasse quel link (che cominciavo a odiare eheheh)...poi...improvvisa..la luce: SMARTY!!!! Invece di agire col file php, perchè non usare smarty? Il motore di template permette di agire sull'HTML del template usando i suoi tag in maniera dinamica come il php (prelevandone i dati alla fonte). Allora mi sono detto...ehm..ehm...la index ha un suo template che è newbb_index.html: APRIAMOLO!! nella index del template c'è questo codice //LOOP SULLE CATEGORIE <{section name=category loop=$categories}> //LOOP SUI FORUM <{section name=forum loop=$categories[category].forums.forum_id}> <{if $categories[category].forums.forum_id[forum] == 4}> <{else}> visulaizza tutti gli altri forum <{/if}> Ho scoperto che la variabile smarty $categories[category].forums.forum_id[forum] restituisce l'id del forum. Wow! E allora perchè non usare questa variabile per beccare al volo, durante il loop, l'id del forum privato e con un if digli: caro xoops, quando incontri questo forum...non stampare nulla. GRAZIE . In questo modo non apparirà il link in home del modulo. Lo so...è un modo molto spartano e molti programmatori storceranno il naso: chissenefrega. "Quello che conta è il risultato"...è una frase che mi dice spesso il direttore di una società per il quale sono consulente. Ci vuole velocità ed efficienza. L'unico difetto di questo approccio pratico è che devi conoscere a priori il numero id del forum e poi impostarlo nell'espressione if. In questo caso il forum id è 4. Si poteva anche usare la variabile forum_type che riconosce il forum da pubblico (forum_type = 0) a privato (forum_type = 1) ...ma non avevo tempo di star li a vedere....e poi loro voleva un SOLO forum privato mica mille Altro difettuccio è che se loro creano anche un solo forum privato in più devo aggiungere una porzione di codice all'if per comprendere anche il nuovo id. Ma non è finita qui....pensavate eh? ) Tutto ok...ma come si accede al forum privato? Ho creato un nuovo blocco, un nuovo gruppo di utenti, e ho reso visibile il blocco SOLO a quel gruppo di utenti (che poi sono i collaboratori del sito). Quando accedono a xoops, solo loro vedono un blocco dal titolo...chesso..."area riservata"... e all'interno del blocco un semplice link che rimanda alla pagina del forum privato: In questo modo si possono aggiungere altre aree riservate...addirittura clonando dei moduli e rendendoli disponibili per l'accesso a documenti riservati (penso ad esempio al modulo download)....oppure per caricare foto ose' e farle vedere solo agli intimi ehehehe (modulo myalbum). Spero di esservi stato utile. Dantom Altro... http://www.xoopsitalia.org/modules/article/view.article.php/c4/16
© 2002-2008 |
XOOPS ITALIA