PmWikiIt /
Includere altre pagine autori (intermedio)
La direttiva Sintassi di base
include la pagina "NomePagina" che si trova nello stesso gruppo.
include una variabile nominata nella pagina.
include una pagina seguendo i parametri indicati (opzionali).
Note: Il ConditionalMarkup? non funziona con l'inclusione di altre pagine, oppure le PageTextVariables?. Le variabili nel testo della pagina, infatti, non rispettano la direttiva (:if:) . Perciò, se si include una sezione: (:include OtherPage#section:) , questa [[#section]] verrebbe inclusa anche se si trovasse dentro a un costrutto (:if:)...(:ifend:) .
Quando si controllano variabili? nelle pagine incluse, il contesto, cioè se la pagina include o è inclusa, è importante. Si veda PageVariables per ulteriori dettagli. ParametriI parametri che non sono parole chiave, cioè nomi ed etichette, possono essere ripetuti. Pagine(:include NomePagina:)
(:include Group.NomePagina:)
(:include NomePagina GroupName.Nomepagina:)
Inserisce il testo di un'altra pagina in quella corrente. Si possono specificare più pagine da includere.
Etichette
(Gli esempi 2 e 4 potrebbero sembrare anti-intuitivi).
Nota: non inserire spazi tra "#from" e "#to"
(:include Page1 Page2 #from#to:)
Include la prima pagina disponibile, tra Page1 e Page2. Di tale pagina, viene inclusa soltanto la parte tra le etichette [[#from]] e [[#to]]
Nota: bisogna inserire uno spazio tra "Page2" e "#from#to". Le etichette "#from#to" devono trovarsi in entrambe le pagine, altrimenti la pagina selezionata verrà inclusa per intero.
(:include Page1#from1#to1 Page2#from2#to2:)
Include la prima pagina disponibile, tra Page1 e Page2. Di tale pagina viene inclusa solo una parte, rispettivamente quella tra le etichette [[#from1]] e [[#to1]] per Page1, o quella tra [[#from2]] e [[#to2]] per Page2.
Nota: Alcune versioni precedenti di PmWiki permettevano di inserire spazi tra #from e #to , benché pm? dicesse che questo non doveva succedere. Le versioni più recenti non permettono più di inserire spazi lì. Il comportamento precedente può essere richiesto aggiungendo nel file config.php o farmconfig.php:
Markup('includeanchors', '<include', '/(\\(:include.*?#\\w+)\\s+(#\\w+)/', '$1$2');
Lines=(:include PageName lines=10:)
(:include PageName lines=5..10:)
(:include PageName lines=5..:)
Include le prime 10 righe, quelle tra la 5 e la 10, oppure la 5 e le seguenti, di PageName. Per "riga" si intende una riga di codice. Una riga, quindi, potrebbe essere un intero paragrafo, che venga poi mostrato a schermo su più righe, oppure una riga vuota.
(:include Page1 Page2 Page3 lines=1..5:)
Include le prime cinque righe della prima pagina disponibile tra Page1, Page2 e Page3. (Per includere linee da più pagine, bisogna inserire una direttiva per ciascuna pagina.)
Self=(:include PageName self=0:)
Il parametro self può essere impostato a 0 oppure 1 . Indica se la direttiva può includere la pagina corrente. Questo parametro è utile se PageName è una variabile, ad es. {$Name} , e si vuole evitare di includere la pagina corrente.
Variabili nel testo della pagina?{Group/PageName$:Var}
Include i valori di una lista di definizioni presente in una pagina (opzionale), rendendoli PageTextVariables?. Questa lista deve essere nella forma ( :elemento:descrizione ), (elemento:descrizione ), oppure ((:elemento:descrizione:) ).
Basepage=(:include PageName basepage=BasePageName:)
Include PageName, ma dando la base BasePageName a tutte le variabili di pagina e ai collegamenti relativi.
Se si specifica Nome: {$:Name} Indirizzo: {$:Address} allora, la direttiva (:include TemplateName basepage=PageName:)
mostrerebbe il contenuto di Questo assume che sul sito sia abilitato Lo scopo primario è di permettere l'inclusione di pagine in un modo che assomigli alla versione 2.1.x, dove le variabili di pagina e i link sono relativi alla pagina visualizzata al momento. Questo si ottiene così: (:include SomeOtherPage basepage='' :)
oppure (:include SomeOtherPage basepage={*$FullName} :)
Questo permette anche a GroupHeader and GroupFooter di contenere variabili di pagina e collegamenti relativi alla pagina visualizzata, anziché a se stessi: ## Impostazione di default di Altrimenti, l'uso di IncludeOtherPages all'interno di GroupHeader mostrerebbe 'GroupHeader' anziché il nome della pagina visualizzata. Si è scoperto che il parametro basepage= è abbastanza generale per essere usato in un engine di template. È possibile creare una pagina che contenga variabili, il cui valore venga letto da un'altra pagina: (:include PaginaTemplate basepage=PaginaConDati :)
Una singola PaginaTemplate può ovviamente contenere più template, separati da etichette. Così si ottiene una sintassi stranamente simile[1] alle pagelist-template: Quindi TemplatePage può avere una sintassi del tipo: [[#abc]] ...inserire il template qui... [[#abcend]] ed è possibile mostrare TemplatePage come un template, senza che essa venga interpretata... così come si fa per Site.PageListTemplates. [1]D'accordo, forse non è così strano: il codice di dei pagelist template di fatto usa la stessa funzione di (:include:) per leggere i template. Ma è comunque un'analogia utile.
Vedere anche
Nota di stileNormalmente, le pagine e le righe incluse non possono essere distinte dal resto del testo di una pagina. Si possono usare Stili wiki per sottolineare visivamente che quel testo è "speciale". Per esempio:
Riferimento ai parametriTutti i parametri che vengono passati a una direttiva di inclusione sono accessibili alla pagina inclusa, sotto forma di variabile speciale Note
<< Direttive per pagine | Indice documentazione | InterMap >> Qual è il numero massimo di inclusioni che possono coesistere in una pagina? Sembra che il mio sito non vada oltre 48 inclusioni. ( Per default, PmWiki imposta un limite di 50 inclusioni per qualunque pagina. Questo serve a impedire cicli infiniti e altre situazioni che potrebbero intasare un server. Il limite può essere cambiato dal WikiAdministrator? attraverso la variabile Traduzione di PmWiki.IncludeOtherPages -
Pagina originale: PmWikiIt.IncludeOtherPages -
Backlinks |