SearchWiki:
Add Page:

SideBar (edit)

Associated Sites

Page History Edit Page Links to This Page

autores (intermedi)

La directiva (:include:) possibilita la inserciˇ (o "transclusiˇ") dels continguts d'altres pÓgines a la pÓgina actual. Totes les directives de sota executen una inclusiˇ directa. En concret, si no s'indica el contrari, s'assumeix que qualsevol enllaš del text incl˛s enllaša amb pÓgines del grup wiki actual.

Sintaxi

La sintaxi bÓsica Ús

  • (:include NomPagina:)
usant NomPagina s'inclou la totalitat d'eixa pÓgina (del mateix grup).
inclou una variable d'una pÓgina, on Grup i NomPagina sˇn opcionals

La sintaxi completa Ús

inclou una pÓgina d'acord amb els parÓmetres proporcionats. Els parÓmetres sˇn opcionals.

ParÓmetres

La directiva pot tenir m˙ltiples parÓmetres NomPagina amb o sense Óncores, i m˙ltiples variables.

Les pÓgines especificades

(:include NomPagina:)
(:include Grup.NomPagina:)
(:include Pagina1 Pagina2 Grup1.Pagina3 Grup2.Pagina4:)
Totes tres inclouen a dintre de la pÓgina actual el text complet de la pÓgina especificada. S'hi poden especificar m˙ltiples pÓgines, per˛ nomÚs s'inclourÓ la primera disponible.

Podeu usar la caracterÝstica citada a dalt per a 'mostrar un missatge d'error en cas de que la inclusiˇ falli. Creeu una pÓgina, p.ex. Site.IncludeFailed que contingui el missatge d'error. Podeu usar qualsevol nom per a la pÓgina. DesprÚs afegiu-la al final de la llista de pÓgines de l'include:

 (:include Pagina1 Pagina2 Pagina3 Site.IncludeFailed:)

Una aproximaciˇ lleugerament mÚs complicada s'explica a la pÓgina de discussiˇ.

└ncores

(:include NomPagina#desde#fins:)inclou les lÝnies entre les Óncores [[#desde]] i [[#fins]] de la pÓgina NomPagina
(:include NomPagina#desde#:)inclou totes les lÝnies des de l'Óncora [[#desde]] fins al final de la pÓgina
(:include NomPagina##fins:)inclou totes les lÝnies des de l'inici de la pÓgina fins a l'Óncora [[#fins]]
(:include NomPagina#desde:)ho inclou tot entre [[#desde]] i la segŘent Óncora
(:include NomPagina#:)ho inclou tot des de l'inici de la pÓgina fins a la primera Óncora
Nota: no s'han de ficar espais entre "#desde" i "#fins".
Nota: el text que Ús en la mateixa lÝnia que l'ancora [[#fins]]] NO s'inclourÓ al text, fins i tot si precedeix l'Óncora. Per xemple:
[[#desde]]algunes paraules a la primera lÝnia
algunes paraules mÚs a l'˙ltima lÝnia [[#fins]]
Quan s'incloguen les lÝnies de dalt amb (:include NomPagina#desde:) es mostrarÓ el text de la primera lÝnia per˛ no el de l'˙ltima.
(:include Pagina1 Pagina2 #desde#fins:)
Inclou els continguts entre [[#desde]] i [[#fins]] de la primera pÓgina disponible, bÚ sigui Pagina1 o Pagina2.
Nota: cal ficar un espai entre "Pagina2" i "#desde#fins". Les mateixes Óncores "#desde#fins" haurien d'estar presents a ambdˇs pÓgines. Si no es troben les Óncores indicades a la primera de les pÓgines disponibles (bÚ Pagina1 o bÚ Pagina2), aleshores s'inclouran tots els continguts de la pÓgina.
Aš˛ no funciona correctament ara per ara (versiˇ 2.2.33). Podeu trobar una soluciˇ a Cookbook:IncludeSection.
(:include Pagina1#desde1#fins1 Pagina2#desde2#fins2:)
Inclou els continguts de la primera pÓgina disponible, bÚ sigui Pagina1 (entre [[#desde1]] i [[#fins1]]) o bÚ sigui Pagina2 (entre [[#desde2]] i [[#fins2]] )
Nota: Les versions anteriors de PmWiki, sense voler, permetien espais en blanc entre les Óncores #desde i #fins. Les versions mÚs noves ja no ho permeten. Per a tornar a habilitar aquest comportament "no-desitjat" afegiu aš˛ al fitxer config.php o farmconfig.php:
Markup('includeanchors', '<include', '/(\\(:include.*?#\\w+)\\s+(#\\w+)/', '$1$2');

Lines=

(:include NomPagina lines=10:)
(:include NomPagina lines=5..10:)
(:include NomPagina lines=5..:)
Inclou les primeres 10 lÝnies, les lÝnies 5 a 10, o de la lÝnia 5 en avant de NomPagina. Una "lÝnia" es refereix en aquest context a una lÝna de codi. Per tant, una lÝnia pot ser un parÓgraf llarg (en la pantalla s'estÚn a mÚs d'una lÝnia), o una lÝnia completament en blanc.
(:include Pagina1 Pagina2 Pagina3 lines=1..5:)
Inclou les primeres cinc lÝnies de la primera pÓgina disponible entre Pagina1, Pagina2, o Pagina3. Per a incloure text de diverses pÓgines, feu servir un (:include:] independent per a cada pÓgina.

Self=

(:include NomPagina self=0:)
El parÓmetre self pot prendre el valor 0 o 1. Indica si la directiva tÚ permÝs per incloure la pÓgina actual. ╔s ˙til quan NomPagina Ús una variable com ara bÚ {$Name} i voleu evitar que s'inclogui la pÓgina actual.

Variables de text d'una pÓgina

{Grup/NomPagina$:Var}
Inclou valors d'una llista de definicions com a variables de text des d'una pÓgina (opcional). Aquestes es defineixen mitjanšant una llista de definicions (:Ýtem:descripciˇ), amb un carÓcter de dos punts com a delimitador (Ýtem:descripciˇ), o la marca especial ((:Ýtem:descripciˇ:)).

Basepage=

(:include NomPagina basepage=NomPaginaBase:)
Inclou NomPagina, per˛ tractant tots els enllašos relatius i les variables de NomPagina com a relatius a NomPaginaBase.

Per tant, si hom crea PlantillaNom com a

Nom: {$:Nom}
Adre&ccedil;a: {$:Adre&ccedil;a}

aleshores la directiva

(:include PlantillaNom basepage=NomPaginaBase:)

recuperarÓ els continguts de PlantillaNom, tractant les variables de pÓgina i els enllašos com si fossin relatius a NomPagina. En concret, els valors de {$:Nom} i {$:Adre&ccedil;a} s'agafaran de NomPagina; passaria el mateix amb altres variables com {$Title} i {$LastModifiedBy}.

┌s de basepage

L'objectiu principal de basepage Ús permetre la inclusiˇ de pÓgines tal i com es feia en les versions 2.1.x, on les variables de pÓgina i els enllašos s'interpretaven en relaciˇ a la pÓgina mostrada. Aix˛ s'aconsegueix mitjanšant:

(:include AlgunaAltraPagina basepage='' :)
  -o-
(:include AlgunaAltraPagina basepage={*$FullName} :)

TambÚ permet que les pÓgines GroupHeader i GroupFooter tractin les seues variables i enllašos de forma relativa a la pÓgina que es mostra (enlloc de fer-ho en relaciˇ a GroupHeader i GroupFooter):

  ## PmWiki default $GroupHeaderFmt setting
  $GroupHeaderFmt = 
    '(:include {$Group}.GroupHeader self=0 basepage={*$FullName}:)(:nl:)';

De no ser aixÝ, l'˙s de la variable IncludeOtherPages dintre de GroupHeader mostraria 'GroupHeader' i no pas el nom de la pÓgina mostrada.

El parÓmetre basepage= Ús suficientment general per a fer-se servir com a plantilla, de manera que pot agafar una pÓgina --que fem servir com a plantilla-- que contingui variables i emplenar-les al moment amb els valors d'un altra pÓgina:

(:include PaginaPlantilla basepage=PaginaDades :)

I, com sempre, una ˙nica PaginaPlantilla pot contenir diverses plantilles delimitades per Óncores, de manera que al final acabem amb una sintaxi misteriosament similar[1] a la de les plantilles per als llistats de pÓgines:

    (:include PaginaPlantilla#abc basepage=PaginaDades :)

AixÝ que PaginaPlantilla pot usar una sintaxi com:

    
    [[#abc]]
    ...acÝ van les coses de la plantilla...
    [[#abcend]]

i Ús possible mostrar PaginaPlantilla com una plantilla sense que s'interpreti... el mateix que fem amb Site.PageListTemplates.

[1]D'acord, no Ús tan misteriˇs, ja que el codi de la plantilla de llistat de pÓgines usa la mateixa funciˇ que (:include:) per obtenir-ne les plantilles. Per˛ tot i aix˛ Ús una comparaciˇ ˙til.

Especificar les variables com a parÓmetres

Podeu especificar valors per a les variables directament a la sentŔncia d'inclusiˇ, i fer referŔncia a les variables des de la plantilla usant el format {$$variable1}:

(:include PaginaPlantilla variable1="valor" variable2="valor2":)

Amb aix˛ assumim que el lloc tÚ habilitat $EnableRelativePageVars, recomanat des de PmWiki 2.2.0 -- per˛ deshabilitat per defecte en les versions 2.2.8 i anteriors.

Per exemple, a la pÓgina inclosa ("plantilla") puc tenir:

[[#ivars]]
Hola, {$$Nom}, com estÓs avui?
[[#ivarsend]]

Hola, {$$Nom}, com estÓs avui?

Aleshores, incloent eixa secciˇ de dalt (disponible via {$FullName}#ivars)) obteniu aquest resultat:

(:include {$FullName}#ivars Nom=Mariola:)

Hola, Mariola, com estÓs avui?

Si el valor contÚ espais, tanqueu-lo entre cometes:

(:include {$FullName}#ivars Nom="el meu amic":)

Hola, el meu amic, com estÓs avui?

Vegeu tambÚ $EnableUndefinedTemplateVars.

Vegeu tambÚ

Nota sobre l'˙s d'estils

Per defecte, les pÓgines o lÝnies incloses no es poden distingir de qualsevol altre text de la pÓgina. Per tal d'indicar visualment que aquest text Ús especial, podeu aplicar-hi Estils wiki. Per exemple:

%define=leftborder border-left="2px solid #88f" margin-left="2px" padding="1px 0 3px 10px"%
QuŔ Ús PmWiki?
>>leftborder<< (:include PmWikiCa.PmWikiCa lines=1..4:) 
>><<
''Que tingueu un bon dia!''

QuŔ Ús PmWiki?

PmWiki Ús un sistema per la creaciˇ i el manteniment de pÓgines web basat en sistemes wiki.

Les pÓgines de PmWiki tenen l'aspecte de qualsevol altra pÓgina web, excepte pel fet de tenir un enllaš per a "editar" que permet modificar-les amb facilitat, aixÝ com afegir-ne de noves, usant unes regles d'ediciˇ. No Ús necessari saber HTML o CSS. L'ediciˇ de pÓgines es pot deixar oberta al p˙blic o restringir-la a un xicotet grup d'autores.

Que tingueu un bon dia!

ReferŔncies als parÓmetres

Es pot accedir a qualsevol parÓmetre que se li passa a una sentŔncia d'inclusiˇ des de dintre de la pÓgina inclosa com una variable especial {$$...} del mateix nom. Podem usar aquest funcionalitat per a mostrar informaciˇ extra a l'hora de mostrar la pÓgina inclosa.

Notes

  • TambÚ podeu usar (:include Meua/Pagina#meuaancora lines=4:) que comenša, i inclou, la lÝnia amb l'Óncora [[#meuaancora]] i les tres lÝnies segŘents.

Notes sobre l'˙s amb ConditionalMarkup?

La directiva (:include ...:) es processa desprÚs que s'avalu´n les sentŔncies condicionals.
Per tant podeu incloure una pÓgina o una secciˇ com a part d'una condiciˇ, com per exemple

(:if alguna condicio:)(:include AlgunaPagina#seccio:)(:ifend:)

Per contra, (:include AlgunaPagina#seccio:) no comprova si [[#seccio]] forma part d'una condiciˇ, com ara bÚ

(:if alguna condicio:)[[#seccio]]...[[#seccioend]](:ifend:)

(:include AlgunaPagina#seccio:) ignorarÓ per complet la condiciˇ.

Quan s'avaluen variables? a les pÓgines incloses, el context de la pÓgina (font o objectiu) pot resultar ˙til. Vegeu referŔncies especials? per a mÚs detalls.


Quin Ús el nombre mÓxim d'inclusions que poden haver a una pÓgina?

Per defecte, PmWiki estableix un lÝmit de 50 inclusions de pÓgina, per tal de prevenir l'apariciˇ de bucles infinits o altres situacions que puguin acaparar els recursos del servidor. (Dos d'aquestes pÓgines incloses sˇn GroupHeader i GroupFooter.) Una administradora? pot modificar-lo mitjanšant la variable $MaxIncludes.

Hi ha alguna manera d'incloure continguts des d'un grup de pÓgines sense especificar el nom exacte, p.ex. entre l'Óncora X i Y des de totes les pÓgines anomenades SiClasse-* ?

Es pot fer mitjanšant Llistats de pÓgines.

Sembla que hi ha un problema de visualitzaciˇ quan la pÓgina inclosa contÚ la directiva (:title:).

En la instalĚlaciˇ per defecte, l'˙ltim tÝtol de la pÓgina sobreescriu els anteriors, aixÝ que podeu colĚlocar la directiva (:title :) al final de la pÓgina, desprÚs de totes les inclusions. Vegeu tambÚ $EnablePageTitlePriority.



Traducciˇ de PmWiki.IncludeOtherPages - PÓgina original a PmWikiCa.IncludeOtherPages - Backlinks

Edit Page - Page History - Printable View - Recent Changes - SearchWiki
Page last modified on November 14, 2011, at 09:17 AM