====== Modelli di Categorie ====== A volte si potrebbe voler avere ogni pagina in una determinata categoria basata su uno schema comune. Per esempio, nella categoria ''address'' si potrebbe desiderare avere una tabella già pronta, che necessita solo di essere riempita con dei dati. Questo può essere facilmente ottenuto con i cosiddetti "modelli di categorie". Quando una pagina viene creata, [[DokuWiki]] controlla se un file template esiste e lo mostra all'interno della finestra di modifica. I modelli quindi sono file .txt e devono contenere marcatori wiki. ===== File modelli ===== Due tipi di file modello possono essere usati: * ''_template.txt'', che è usato nella categoria corrente. * ''%%__%%template.txt'' (due sottolineature iniziali), che funziona come il normale file ''_template.txt'' a parte il fatto che viene usato anche in ogni categoria sotto quella in cui è inserito (sono ereditate). Un modo per creare il file modello è di * usare il wiki per salvare una pagina contenente ciò che si vuole usare come modello nell'appropriata categoria * usare FTP o WebDAV per fare una copia di esso nella stessa cartella e rinominarlo, poi * usare il wiki per cancellare la pagina originale. ===== Sintassi ===== Il contenuto del file è costituito da semplici normali [[syntax|marcatori wiki]]. ==== Sostituzione modelli ==== All'interni del file, si può anche alcuni modelli sostitutivi per rendere lo schema un poco più dinamico. ^ @ID@ | intero ID della pagina | ^ @NS@ | categoria della pagina | ^ @PAGE@ | nome pagina (ID senza categorie e spazi sostituiscono le sottolineature) | ^ @!PAGE@ | come sopra ma con il primo carattere maiuscolo | ^ @!!PAGE@ | come sopra ma con il primo carattere di ogni parola maiuscolo | ^ @!PAGE!@ | come sopra ma con ogni carattere maiuscolo | ^ @FILE@ | nome pagina (ID senza categoria, le sottolineature sono mantenute come sono) | ^ @!FILE@ | come sopra ma con il primo carattere maiuscolo | ^ @!FILE!@ | come sopra ma con tutti i caratteri maiuscoli | ^ @USER@ | ID dell'utente che crea la pagina | ^ @NAME@ | nome dell'utente che crea la pagina | ^ @MAIL@ | indirizzo di posta elettronica dell'utente che crea la pagina | ^ @DATE@ | data e ora di creazione della pagina | In più si può anche usare qualsiasi segnaposto [[phpfn>strftime]] per inserire la data della creazione della pagina in ogni formato voluto. Se si vuole usare un carattere letterale ''%'' nel modello è necessario raddoppiarlo. ===== Editare modelli ===== Non si possono editare i ''_template.txt'' tramite DokuWiki -- solo qualcuno che può editare i file all'interno delle cartelle di DokuWiki (di solito un amministratore usando FTP o WebDAV) può. Esistono due trucchi per ottenere questo risultato: uno comporta la creazione di collegamenti simbolici e uno comporta la modifica del codice. ==== Modelli editabili tramite collegamenti simbolici ==== In questo modo, si possono memorizzare i modelli in una speciale categoria. Facendo un collegamento simbolico verso di essi si può usare il modello. Si può anche scegliere di rendere un modello non editabile non usando un collegamento simbolico. - Si crei una categoria chiamata "templates", o qualcosa di simile. - in questa pagina, si crei una pagina per ogni [[namespace_templates | modello di categoria]] che si desidera rendere disponibile. - Si seguano le istruzione fornite sopra, ma si renda _template.txt un collegamento duro ((collegamenti morbidi sembrano non funzionare)) alla pagina corrente sotto il modello di categoria. A questo punto il modello può essere modificato facilmente tramite l'interfaccia wiki. ==== Modelli editabili da tutti gli utenti ==== In questo modo, tutti i modelli saranno editabili da chiunque abbia accesso in scrittura - Si cambi il modello predefinito a "template.txt" (o aaa_template.txt)circa alla riga ''inc/common.php'' (( Righe 811 e 812 nella versione 2009-02-14)). - A questo punto ogni utente che abbia accesso in scrittura alla categoria può creare una pagina chiamata "template" in questa categoria che servirà come modello. * Nota: questo metodo ha il vantaggio che i nuovi modelli saranno immediatamente riconosciuti. Questo non avviene con gli altri metodi (aggiungendo file o collegamenti simbolici manualmente nelle cartelle di DokuWiki). ==== Supporto @GROUPS@ ==== Può essere interessante avere il supporto per la parola chiave ''@GROUPS@'' per estendere agli utenti appartenenti al gruppo che creano pagine ( ed esempio per specificare un insieme di marcatori nella home page dell'utente). Il seguente aggiustamento implementa questo. Index: dokuwiki-2009-02-14/inc/common.php =================================================================== --- dokuwiki-2009-02-14.orig/inc/common.php 2009-11-19 11:58:41.000000000 +0100 +++ dokuwiki-2009-02-14/inc/common.php 2010-01-05 10:17:35.000000000 +0100 @@ -840,6 +840,7 @@ '@USER@', '@NAME@', '@MAIL@', + '@GROUPS@', '@DATE@', ), array( @@ -855,6 +856,7 @@ $_SERVER['REMOTE_USER'], $INFO['userinfo']['name'], $INFO['userinfo']['mail'], + implode(" ", $INFO['userinfo']['grps']), $conf['dformat'], ), $tpl); --- //[[shtrom-doku@ssji.net|Olivier Mehani]] 2010/01/05 10:19// ====== Suggerimeti ====== * Forse impostando il modello della categoria predefinito nella configurazione impedisce pasticci con common.php, l'aggiustamento si romperà quando un aggiornamento viene eseguito. Con ACL gli accessi a questi modelli di file possono essere ristretti.