Pomoc:Transkluzja i substytucja a użycie znaczników noinclude, includeonly, onlyinclude

Transkluzja (substytucja) fragmentów strony przy pomocy tagów <noinclude>, <onlyinclude>, <includeonly>

Domyślnie przy transkluzji (lub substytucji), cały kod danej strony jest transludowany (lub substytuowany) na stronie docelowej. Zazwyczaj używany jest tu wyspecjalizowany typ strony tzw. szablon (patrz poradnik Przestrzeń nazw ). Można również precyzyjniej określać sposób transkluzji danej strony – służą do tego specjalne tagi <noinclude>, <onlyinclude>, <includeonly>. Pozwala to na przykład na uniknięcie przeniesienia (transkluzji lub substytucji) części szablonu – na przykład komentarzy, dokumentacji, kategorii, pozwala z drugiej strony uniknąć na stronie szablonu wyświetlenia fragmentów, które powinny być widoczne tylko na stronie docelowej. Może to na przykład dotyczyć kategorii, w której się strona docelowa powinna znaleźć nie jednak sam szablon.[1] Do dyspozycji są następujące tagi:

  • <noinclude> – Tekst między tagami nie będzie włączony do strony docelowej w procesie transkluzji (substytucji), jest wykorzystywany tylko na stronie źródłowej.
  • <onlyinclude> – Tylko tekst między tagami będzie włączony do strony docelowej w procesie transkluzji (substytucji). Reszta strony nie jest włączana.
  • <includeonly> – Tekst między tagami jest włączany do strony docelowej w procesie transkluzji (substytucji), ale nie jest wykorzystywany na stronie źródłowej.



Kod wiki Co jest wykorzystywane tutaj (strona źródłowa) Co jest włączane (strona docelowa)
<noinclude> text1 </noinclude> text2 text1 text2 text2
<onlyinclude> text1 </onlyinclude> text2 text1 text2 text1
<includeonly> text1 </includeonly> text2 text2 text1 text2
<onlyinclude><includeonly> text1 </includeonly></onlyinclude> text2 text2 text1


Stosunkowo częstym problemem przy korzystaniu z tych tagów są niezamierzone puste linie, spacje lub na odwrót brak odstępu. Należy wziąć pod uwagę, że działanie tagu rozpoczyna się wraz z pierwszym otwierającym nawiasem ostrokątnym < (nie zaś po poprzedzającym widocznym znaku) a efekt znowu kończy się na ostatnim zamykającym nawiasie ostrokątnym > (a nie na przykład na końcu linii, przed następnym widocznym znakiem lub tp.)

Tagi mogą być umieszczane wewnątrz innych, jednak na danej stronie ma to sens jedynie dla <onlyinclude> . Również istotne jest by przy zagnieżdżaniu zamykać tagi we właściwej kolejności. Konstrukcje typu: <onlyinclude>abc<includeonly>def</onlyinclude>ghi</includeonly> nie działają właściwie.

Najczęściej te tagi są używane w szablonach. Są to specjalne strony przeznaczone do transkluzji (rzadziej substytucji) na innych stronach. Oddzielenie części „prywatnej” (tj. dotyczącej tylko danej strony a nie docelowej) od docelowej ma tu podstawowe znaczenie.

Na Wikiźródłach nagłówek i stopka strony (w przestrzeni Strona:) są ujęte w tagi <noinclude>. Dzięki temu przy transkluzji strony do przestrzeni głównej te fragmenty nie są włączane. W nagłówku lub stopce mogą być umieszczane numery stron, zamykane tagi, szablony, tabele.





  1. Generalnie umieszczanie kategorii przez szablon powinno być robione wyjątkowo, ponieważ utrudnia korektę, orientację, wyszukiwanie kodu etc.