Categories
El propĂČsit de les categories
Les categories (tambĂ© conegudes com a "etiquetes" o en anglĂšs "tags") serveixen per a organitzar i trobar pĂ gines relacionades. Les categories venen implementades per defecte amb PmWiki 2, i a la majoria de wikis no cal afegir cap codi o marques especials, nomĂ©s sĂłn una convenciĂł Ăștil. La idea Ă©s que tota pĂ gina que cau dintre d'un Ă rea temĂ tica particular hauria de tenir un enllaç a una pĂ gina compartida que contĂ© enllaços a altres pĂ gines d'aquesta mateixa temĂ tica. Aquestes pĂ gines compartides es creen al grup Category, i per aixĂČ aquestes Ă rees temĂ tiques s'anomenen "categories".
L'Ășs de les categories
Començar a usar categories només requereix d'un pas: afegir enllaços a cada categoria. Una categoria que s'anomeni Tema es crea afegint un enllaç a Category.Tema en qualsevol pà gina. Quan l'enllaç s'ha afegeit a una pà gina, podem dir que la pà gina és a la categoria "Tema".
Hi ha una marca especial per a crear aquestos enllaços de manera apropiada: [[!Tema]] crearà un enllaç a Category.Tema. Per tant es podria dir que [[!Tema]] és una especie de drecera a la pà gina Tema del grup Category.
Amb PmWiki s'inclou un fitxer Category.GroupFooter que contĂ© la lĂnia (:pagelist link={*$FullName} list=normal:)
de manera que sempre que es mostri una pĂ gina de categoria, veurem una llista de les pĂ gines que la referĂšncien. Com qualsevol de les pĂ gines de wikilib.d
, podeu modificar-la i no serĂ sobreescrita per les actualitzacions.
Fixeu-vos que la directiva per a llistar pĂ gines que s'usa a Category.GroupFooter, es pot afegir a Category.GroupHeader en el seu lloc, obtenint un resultat similar; podeu usar un o altre depenent de si voleu el llistat de pĂ gines a dalt o a baix dels continguts que afegiu a les pĂ gines de categoria individuals (editables com qualsevol altra).
Com que es fa servir la marca link=
de la directiva Llistats de pĂ gines, podeu repetir la construcciĂł on sigui necessari. Si voleu mostrar totes les pĂ gines que pertanyin a Tema, podeu usar arreu la sentĂšncia (:pagelist link=Category.Tema list=normal:)
.
Del mateix mode, no és necessari que una "pà gina de categoria" estigui al grup Category -- qualsevol pà gina pot definir una "categoria" de pà gines que l'enllacen.
Una administradora pot substituir el nom inicial del grup de categories "Category" per un altre, definint la variable $CategoryGroup
al fitxer config.php. (Un canvi d'aquest estil s'hauria de fer durant la configuraciĂł inicial d'un wiki; fer el canvi a un wiki amb continguts pot donar problemes amb els llistats de pĂ gines a no ser que es torni a desar cada pĂ gina que estĂ en una categoria.)
Una autora pot fer un enllaç a una categoria sense afegir-la a la categoria usant [[ {Category.Tema$PageUrl} | Tema ]]. Aixà es crearà un enllaç com el que es crearia amb [[!Tema]] sense que la pà gina sigue considerada part de la categoria Tema.
RecapitulaciĂł
Afegint l'enllaç [[!Tema]] a una pĂ gina, aquesta apareixerĂ llistada automĂ ticament a Category.Tema (sempre que Category.GroupFooter mantingui la configuraciĂł per defecte). AixĂ doncs, podeu crear una pĂ gina que crei automĂ ticament un llistat en ordre alfabĂštic de totes les pel·lĂcules comentades al vostre wiki creant enllaços [[!Pel·lĂcules]] a cadascuna de les pĂ gines amb una pel·lĂcula; el llistat resultant es trobaria a Category.Pel·lĂcules .
Niuament de categories
Encara es pot traure mĂ©s profit de les categories perquĂš les prĂČpies pĂ gines Category.*
es poden col·locar a dintre de categories! Seguint un excel·lent exemple de John Rankin, suposem que tenim les segĂŒents pĂ gines de pel·lĂcules a les categories llistades a la part dreta:
Peli.DotzeHomesSensePietat [[!Drama]] [[!Crim]] [[!1957]] Peli.ElSeteSegell [[!Drama]] [[!Fantasia]] [[!1957]] Peli.CapALaEternitat [[!Documental]] [[!2010]]
Ara, podem crear Category.Drama
, Category.Crim
, Category.Fantasia
, i Category.Documental
, i a cadascuna d'aquestes pĂ gines posem [[!GĂšnere]]
. A Category.1957
i Category.2010
, hi possem [[!Any]]
.
AixĂ, quĂš veurem a la pĂ gina Category.GĂšnere
? Enllaços a "Crim", "Drama", "Documental", i "Fantasia", perquĂš estan a la categoria GĂšnere. Quan cliquem en algun d'aquestos enllaços, veiem totes les pel·lĂcules d'una d'aquestes categories. Del mateix mode, si cliquem a Category.Any
, veiem enllaços a "1957" i "2010", cadascun dels quals, al seu temps, mostra la llista de pel·lĂcules per a eixe any.
Per Ășltim, a Category.GĂšnere
i Category.Any
podem ficar-hi [[!Categoria]]
, que les convertirà en les categories més altes a les quals hi podem arribar des de la pà gina Category.Categoria
. Voila, com a resultat tenim una "jerarquia" instantĂ nia:
Category.Categoria Category.GĂšnere Category.Crim Peli.DotzeHomesSensePietat Category.Drama Peli.DotzeHomesSensePietat Peli.ElSeteSegell Category.Documental Peli.CapALaEternitat Category.Fantasia Peli.ElSeteSegell Category.Any Category.1957 Peli.DotzeHomesSensePietat Peli.ElSeteSegell Category.2010 Peli.CapALaEternitat
Tanmateix adoneu-vos-en que no Ă©s una jerarquia "estricta" --qualsevol pĂ gina o categoria pot aparĂšixer simultĂ niament a mĂșltiples categories. Per exemple, Category.Documental
podria pertà nyer a GÚnere i a la categoria de més alt nivell.
Cada pà gina de categoria pot tenir continguts abans del llistat de pà gines que hi pertanyen, per exemple, per a donar una descripció del que hi ha a la categoria. (O es pot deixar buid, que també va bé.) També pot contenir associacions amb pà gines relacionades (referÚncies del tipus "vegeu també"). Per exemple, a un wiki sobre turisme, la categoria "mitja pensió" pot contenir una referÚncia "vegeu també" a la categoria "amb menjars".
administradores (intermedi)
El funcionament intern de les categories
L'Ășs del grup Category com a magatzem per a totes les categories es determina definint la variable $CategoryGroup
, i la marca especial [[!Tema]] s'activa cridant la funciĂł Markup():
SDV($CategoryGroup,'Category'); Markup('[[!','<links','/\[\[!([^\|\]] ?)\]\]/', "<span class='category'>[[$CategoryGroup/$1]]</span>");
Trobar una bona estructura per a les categories
La part mĂ©s complicada en l'Ășs de categories Ă©s triar un bon vocabulari. Les responsables del contingut poden seguir la Guia d'estil per al desenvolupament i establiment del thesauri monolingĂŒe (ISO 2788-1986) i la Guia d'estil per al desenvolupament i establiment del thesauri multilingĂŒe (ISO 5964-1985). Les qĂŒestions que cal plantejar-se sĂłn:
- si l'esquema existeix i es pot tornar a usar.
- nombre de nivells als esquemes amb mĂșltiples nivells (ni massa generals, ni amb massa profunditat -- p.ex. 3)
- nombre de categories per pĂ gina (ni massa, ni massa poques -- p.ex. 3)
- Ășs consistent del singular (
[[Mercuri]] és un [[!planeta]]
) o del plural ([[Mercuri]] és a la categoria [[!planetes]]
) - desambiguaciĂł i Ășs de frases (
[[!instruments musicals]]
i[[!instruments mĂšdics]]
) o Cookbook:Subpage Markup ([[!Musicals*Instruments]]
i[[!MĂšdics*Instruments]]
)
O deixar que la gent usi aquells termes de categoria que li semblen més encertats. Amb el temps anirà apareixent un vocabulari (o "folksonomy").
Mostrar una llista de categories
Per a mostrar una llista de totes les categories es pot fer un llistat de les pĂ gines que hi ha al grup de categories. Per exemple la segĂŒent directiva mostrarĂ les pĂ gines que hi ha al grup Category, es convenient ficar-la a la pĂ gina Category.Category?, o qualsevol altra pĂ gina:
(:pagelist group=Category list=normal fmt=#title:)
PerĂČ hi ha un problema: El fet d'afegir l'enllaç de categoria, tot i que si el seguim mostrarĂ el llistat corresponent, no crearĂ la pĂ gina amb la categoria!
Es pot afegir el segĂŒent codi al fitxer config.php
per a que les pĂ gines de categoria es crein automĂ ticament al grup 'Category':
$AutoCreate['/^Category\./'] = array('ctime' => $Now, 'text' => $page['text']);
Podeu canviar 'Category' amb el nom del vostre grup per a les categories. TambĂ© podeu afegir mĂ©s definicions per a mĂ©s grups de categories, cosa que pot resultar Ăștil si useu una recepta com Cookbook:Tagger que permet l'Ășs de diversos grups per a categories.
Vegeu també EditVariables#AutoCreate?
TraducciĂł de PmWiki.Categories(approve sites) -
PĂ gina original a PmWikiCa.Categories(approve sites) -
Backlinks