r0 - 27 Jan 2003 - 08:22:18 - ZbigniewKuleszaPołożenie: TWiki >  Dział TWiki  > TWikiVariables

Zmienne TWiki

Zmienne TWiki są to ciągi znakowe (takie, jak np. %VARIABLE%), które są zamieniane w odpowiednie napisy przy każdym wyświetleniu strony. Gdy strona jest przygotowywana do wyświetlenia, ZMIENNE są zastępowane przez dane ustawione przez użytkownika, lub dane generowane automatycznie przez TWiki (np. bieżąca data, lub bieżąca nazwa konta). Istnieją zmienne predefiniowane i zmienne przeznaczone do konfiguracji danego działu, lub strony. Można również tworzyć nowe zmienne.

Zmienne predefiniowane

Większość zmiennych predefiniowanych została zdefiniowana w pliku lib/Twiki.cfg, podczas instalacji TWiki, lub zawiera informacje otrzymane z serwera, na którym zainstalowano TWiki (jak np. bieżąca nazwa konta, data i czas). Wiele z tych zmiennych umożliwia sformatowanie tekstu wyświetlanego na stronie.

  • TIP Proszę poświęcić chwilę na dokładne przejrzenie wszystkich zmiennych. Przeglądanie zmiennych należy wykonywać okresowo. Dotyczy to zwłaszcza osób zajmujących się konfiguracją systemu. Zmienne obejmują wiele funkcji - można łatwo przeoczyć ważną zmienną, która mogłaby zostać efektywnie wykorzystana. Na przykład proszę sprawdzić przeznaczenie zmiennych: %INCLUDINGTOPIC%, %INCLUDE%, a zwłaszcza potężnej %SEARCH%.

W tej wersji TWiki - Fri, 31 Mar 2006 build 9626 - zdefiniowano następujące zmienne (umieszczone między znakami procent %):

Zmienna: Wartość:
%WIKIHOMEURL% Podstawowy adres URL TWiki: /knapp/bin/view
%SCRIPTURL% Adres URL do skryptów TWiki: http://knapp.pb.edu.pl/knapp/bin
%SCRIPTURLPATH% Ścieżka dostępu do skryptów TWiki: /knapp/bin
%SCRIPTSUFFIX% Rozszerzenie nazwy plików skryptowych, np.: .pl, .cgi:
%PUBURL% Publiczny adres URL TWiki: http://knapp.pb.edu.pl/knapp/pub. Przykład: skrót do pliku załącznika umieszczonego na innej stronie: %PUBURL%/%WEB%/InnaStrona/rysunek.gif
%PUBURLPATH% Ścieżka dostępu do publicznego adresu URL TWiki: /knapp/pub
%ATTACHURL% Adres URL załącznika do bieżącej strony: http://knapp.pb.edu.pl/knapp/pub/TWiki/TWikiVariables. Przykład: skrót do pliku załącznika umieszczonego na bieżącej stronie: %ATTACHURL%/rysunek.gif
%ATTACHURLPATH% Ścieżka dostępu do załącznika do bieżącej strony: /knapp/pub/TWiki/TWikiVariables
%URLPARAM{"name"}% Wartość parametru URL. Istnieje możliwość nadużycia tej zmiennej przy cross-scripting. Przykład: zmienna %URLPARAM{"skin"}% ma wartość print dla URL .../view/TWiki/TWikiVariables?skin=print. Wartość:
%URLENCODE{"string"}% Zakodowanie napisu tak, aby mógł być użyty jako parametr URL. Przykład: %URLENCODE{"napis ze spacjami"}% zwraca: napis%20ze%20spacjami
%WIKITOOLNAME% Nazwa portalu TWiki: TWiki
%WIKIVERSION% Bieżąca wersja TWiki: Fri, 31 Mar 2006 build 9626
%USERNAME% Nazwa konta użytkownika: guest
%WIKINAME% Nazwa użytkownika TWiki. Jeśli nie zdefiniowano jej na stronie TWikiUsers, to taka sama, jak %USERNAME%.
%WIKIUSERNAME% Nazwa użytkownika %WIKINAME% poprzedzona nazwą działu Main - proszę zawsze stosować pełne nazwy: Main.TWikiGuest
%MAINWEB% Dział zawierający strony: TWikiUsers, OfficeLocations? i TWikiGroups: Main
%TWIKIWEB% Dział zawierający strony z dokumentacją i ustawieniami globalnymi TWiki: TWiki
%WEB% Nazwa bieżącego działu: TWiki
%BASEWEB% Nazwa działu zawierającego stronę, od której rozpoczęto włączenie (INCLUDE). W przypadku braku INCLUDE jest taka sama, jak: %WEB%.
%INCLUDINGWEB% Nazwa działu zawierającego stronę, na której znajduje się włączenie (INCLUDE) bieżącej strony. W przypadku braku INCLUDE jest taka sama, jak: %WEB%.
%HOMETOPIC% Nazwa strony domowej każdego działu: WebHome
%NOTIFYTOPIC% Nazwa strony służącej do wysyłania powiadomień: WebNotify
%WIKIUSERSTOPIC% Nazwa strony zawierającej listę kont użytkowników: TWikiUsers
%WIKIPREFSTOPIC% Nazwa strony z ustawieniami globalnymi: TWikiPreferences
%WEBPREFSTOPIC% Nazwa strony z ustawieniami na poziomie działu: WebPreferences
%STATISTICSTOPIC% Nazwa strony ze statystykami działu: WebStatistics
%TOPIC% Nazwa bieżącej strony: TWikiVariables
%BASETOPIC% Nazwa strony od której rozpoczęło się pojedyncze, lub wielokrotne włączanie (INCLUDE). Jeśli strona nie zawiera INCLUDE, to jest taka sama, jak: %TOPIC%.
%INCLUDINGTOPIC% Nazwa strony, która zawiera włączenie (INCLUDE) bieżącej strony. Jeśli strona nie została wykorzystana jako INCLUDE, to taka sama, jak: %TOPIC%.
%SPACEDTOPIC% Nazwa bieżącej strony z dodanymi spacjami. Wykorzystywana przy wyszukiwaniu za pomocą wyrażeń regularnych, lub wyszukiwaniu odwołań do strony: TWiki%20*Variables
%TOPICLIST{"format"}% Lista stron w danym dziale. Format pozycji jest określony przez "format" i może zawierać zmienne: $name - nazwa strony; $web - nazwa działu. Parametry to: format, separator i nazwa działu:
Parametr: Opis: Wartość domyślna:
"format" Format danej pozycji listy, może zawierać zmienne: $name i $web "$name"
format="format" J.w. "$name"
separator=", " Separator poziomy "\n" (znak nowej linii)
web="Nazwa" Nazwa działu Nazwa bieżącego działu
Przykłady:
%TOPICLIST{"   * $web.$name"}% - lista wyliczeniowa zawierająca nazwy wszystkich stron.
%TOPICLIST{separator=", "}% lista nazw stron oddzielonych przecinkami.
%TOPICLIST{" <option>$name</option>"}% lista nazw stron w postaci opcji (do użycia w menu rozwijalnym).
%WEBLIST{"format"}% Lista działów TWiki. Na liście nie są umieszczane działy ukryte, tzn. działy w których ustawiono wartość zmiennej NOSEARCHALL na on. Format pozycji jest określony przez "format" i może zawierać zmienne: $name - nazwa działu, $qname - nazwa działu umieszczona między podwójnymi cudzysłowami, $marker - tekst znacznika służącego do zaznaczenia działów umieszczonych na dodatkowej liście selection. Parametrami są: format, separator i web:
Parametr: Opis: Wartość domyślna:
"format" Format jednej linii, może zawierać zmienną $name "$name"
format="format" J.w. "$name"
separator=", " Separator poziomy "\n" (znak nowej linii)
webs="public" Lista nazw działów, oddzielonych przecinkami, "public" dotyczy wszystkich działów nie ukrytych "public"
marker="selected" Tekst znacznika służącego do zaznaczania działów umieszczonych na dodatkowej liście selection (może być pusty, tzn. "") "selected"
selection="%WEB%" Dodatkowa lista działów, które zostaną zaznaczone za pomocą znacznika $marker$ =section="%WEB%"
Przykłady:
%WEBLIST{"   * [[$name.WebHome]]"}% - lista wyliczeniowa zawierająca nazwy wszystkich działów.
%WEBLIST{"<option $marker value=$qname>$name</option>" webs="Trash,public" selection="TWiki" separator=" "}% - lista składająca się z: wszystkich działów publicznych i działu Trash; bieżący dział zostanie podświetlony.
%GMTIME% Czas GMT: 08 Sep 2010 - 08:22
%GMTIME{"format"}% Sformatowany czas GMT. Do formatowania służą następujące zmienne.
Zmienna: Jednostka: Przykład
$seconds Sekundy 59
$minutes Minuty 59
$hours Godziny 23
$day Dzień miesiąca 31
$month Dzień w formacie ISO Dec
$mo Miesiąc w formacie dwucyfrowym 12
$year Rok w formacie czterocyfrowym 1999
$ye Rok w formacie dwucyfrowym 99
Zmienne można skrócić do 3 znaków. Przykład:
wpisując: %GMTIME{"$day $month, $year - $hour:$min:$sec"}%, otrzymamy:
08 Sep, 2010 - 08:22:35
%SERVERTIME% Lokalny czas na serwerze: 08 Sep 2010 - 10:22
%SERVERTIME{"format"}% Sformatowany czas na serwerze.
Przykład: wpisując: %SERVERTIME{"$hou:$min"}%, otrzymamy: 10:22
%HTTP_HOST% Wartość zmiennej środowiskowej HTTP_HOST: knapp.pb.edu.pl
%REMOTE_ADDR% Wartość zmiennej środowiskowej REMOTE_ADDR: 38.107.191.88
%REMOTE_PORT% Wartość zmiennej środowiskowej REMOTE_PORT: 41876
%REMOTE_USER% Wartość zmiennej środowiskowej REMOTE_USER:
%INCLUDE{"strona" ...}% Włączenie strony (zobacz IncludeTopicsAndWebPages):
Parametr: Opis: Wartość domyślna:
"JakasStrona" Nazwa strony w bieżącym dziale, np. %INCLUDE{"WebNotify"}%  
"Dzial.Strona" Nazwa strony w innym dziale, np. %INCLUDE{"TWiki.SiteMap"}%  
"http://..." Pełny adres URL, np. %INCLUDE{"http://twiki.org/"}%  
pattern="..." Wzorzec w postaci wyrażenia regularnego (RegularExpression) umożliwiający włączenie szeregu stron o nazwach pasujących do tego wzorca Brak
rev="1.2" Włączenie poprzedniej wersji danej strony; nie ma znaczenia dla adresów URL Ostatnia wersja
%STARTINCLUDE% Oznaczenie miejsca rozpoczęcia włączania tekstu ze strony. Zostanie włączony tekst od miejsca %STARTINCLUDE%, do końca pliku, lub do miejsca oznaczonego zmienną %STOPINCLUDE%. Sama zmienna %STARTINCLUDE% nie zostanie włączona.
%STOPINCLUDE% Oznaczenie miejsca zakończenia włączania tekstu ze strony. Sama zmienna %STOPINCLUDE% nie zostanie włączona.
%TOC% Spis treści bieżącej strony.
%TOC{"JakasStrona" ...}% Spis treści utworzony automatycznie na podstawie nagłówków umieszczonych na stronie. W spisie zostaną umieszczone nagłówki sformatowane zgodnie ze zasadami WikiSyntax ("---++ Nagłówek") oraz nagłówki HTML ("<h2>Nagłówek</h2>"). Tekst wpisany w nagłówku za dwoma znakami wykrzyknika "!!" nie zostanie umieszczony w spisie treści, np. jeśli wpiszemy "---+!! Nagłówek", wtedy taki nagłówek nie zostanie umieszczony w spisie treści. Parametry to: nazwa strony, nazwa działu i głębokość:
Parametr: Opis: Wartość domyślna:
"TopicName" Nazwa strony Nazwa bieżącej strony
web="nazwa" Nazwa działu Nazwa bieżącego działu
depth="2" Ograniczenie poziomu nagłówków umieszczanych w spisie treści 6
Przykłady: %TOC{depth="2"}%, %TOC{"TWikiDocumentation" web="TWiki"}%
%SEARCH{"tekst" ...}% Wyniki wyszukiwania. Parametry, to: wyszukiwany ciąg znaków, nazwa działu, zasięg wyszukiwania, kolejność i in.: [1]
Parametr: Opis: Wartość domyślna:
"tekst" W zależności od parametru regex, może to być szukany ciąg znaków, lub wzorzec wyszukiwania (dla wyrażeń regularnych RegularExpression). W przypadku wyszukiwania z wykorzystaniem wyrażeń regularnych można korzystać ze znaku średnika ";" do oznaczenia koniunkcji wzorców, np. zapis "kot;pies" oznacza, że poszukiwane są strony, które zawierają zarówno napis "kot" jak i napis "pies" . Wymagany
search="tekst" J.w.  
web="Nazwa"
web="Main Nazwa"
web="all"
Nazwy przeszukiwanych działów w formacie: nazwa działu, lista nazw działów rozdzielonych spacjami, lub all, czyli wszystkie działy. [2] Nazwa bieżącego działu
scope="topic"
scope="text"
Zakres wyszukiwania: w zawartości stron, lub tylko w nazwach stron. Zawartość stron
order="topic"
order="modified"
order="editby"
order=
 "formfield(nazwa)"
Uporządkowanie wyników wyszukiwania wg: nazw stron, daty modyfikacji, ostatniego użytkownika, lub nazwy pola w formularzu TWikiForms Wg nazw stron
limit="all"
limit="16"
Ograniczenie na liczbę wyników wyszukiwania Wszystkie wyniki
regex="on" Wyszukiwanie z wykorzystaniem wyrażeń regularnych (RegularExpression) i włączenie koniunkcji wzorców za pomocą średnika ";" Wyszukiwanie zwykłe
reverse="on" Odwrócenie kolejności porządkowania wyników Rosnąco
casesensitive="on" Wyszukiwanie z uwzględnianiem wielkości liter Nieuwzględnianie wielkości liter
nosummary="on" Wyświetlenie tylko nazw stron Wyświetlenie fragmentów stron
bookview="on" Wyszukiwanie w formacie BookView, tzn. wyświetlenie całych zawartości wyszukanych stron Wyświetlenie fragmentów stron
nosearch="on" Wyszukiwanie stron nie zawierających podanego napisu Wyszukiwanie stron zawierających podany napis
noheader="on" Wyświetlenie wyników wyszukiwania bez nagłówka:
Nazwa strony: Data zmiany: Użytkownik:
Wyświetlenie nagłówka
nototal="on" Wyłączenie wyświetlania liczby znalezionych stron Wyświetlenie liczby znalezionych stron
header="..."
format="..."
Wyświetlenie wyników wyszukiwania zgodnie z podanym formatem (zobacz FormattedSearch) Wyświetlenie wyników w postaci tabeli
Przykład: %SEARCH{"kot" web="Main" scope="topic"}%
Przykład z formatowaniem: %SEARCH{"pies" scope="topic" nosearch="on" nototal="on" header="| *Nazwa strony: * | *Fragment: * |" format="| $topic | $summary |"% (wyświetlenie wyników w niestandardowej tabeli - szczegóły).
HELP Jeśli zainstalowano wtyczkę TWiki:Plugins.TablePlugin, to można przed zmienną %SEARCH% ustawić zmienną %TABLE{}%, co pozwoli zmienić sposób wyświetlania wyników. Przykład: %TABLE{ tablewidth="90%" }%
%METASEARCH{...}% Specjalizowane wyszukianie metainformacji na stronach
Parametr: Opis: Wartość domyślna:
type="topicmoved" Rodzaj wyszukiwania
"topicmoved" wyszukiwanie stron przeniesionych
"parent" wyszukiwanie stron podrzędnych dla podanej strony
Wymagany
web="%WEB%" Nazwy przeszukiwanych działów w formacie: nazwa działu, lista nazw działów rozdzielonych spacjami, lub all, czyli wszystkie działy. Wymagany
topic="%TOPIC%" Nazwa przeszukiwanej strony Wymagana
title="Napis" Napis poprzedzający każdy z wyświetlanych wyników wyszukiwania Wymagany
Przykład: %METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%" title="Ta strona została przeniesiona: "}%. Przykład ten może zostać wykorzystany np. na stronie WebTopicViewTemplate, lub WebTopicNonWikiTemplate
%METASEARCH{type="parent" web="%WEB%" topic="%TOPIC%" title="Strony podrzędne: "}%
%VAR{"NAZWA" web="Dział"}% Wartość zmiennej %NAZWA% zdefiniowanej w innym dziale. Przykład: aby otrzymać kod koloru w dziale Main można napisać: %VAR{"WEBBGCOLOR" web="Main"}%, co spowoduje wyświetlenie: #FFFFC0

[1] __Uwaga: Formularz wyszukiwania stosuje jednakowe nazwy pól.

[2] __Uwaga: Dany dział może zostać wyłączony z przeszukiwania web="all", gdy zmienna NOSEARCHALL na stronie WebPreferences zostanie ustawiona na on.

Zmienne konfiguracyjne

Dodatkowe zmienne, tzw. zmienne konfiguracyjne są definiowane w ustawieniach:

  • globalnych (UG) na stronie TWikiPreferences,
  • na poziomie działu ( UD ) na stronie WebPreferences znajdującej się w każdym dziale,
  • na poziomie użytkownika (UU ) na stronach domowych użytkowników.

Zmienna: Poziom: Przeznaczenie:
%WIKIWEBMASTER% UG Adres email administratora TWiki: z.kulesza@pb.bialystok.pl
%WIKIWEBLIST% UG Lista działów TWiki wyświetlana w lewym górnym rogu każdej strony
%WEBTOPICLIST% UD Skróty wyświetlane w drugiej linii każdej strony
%WEBCOPYRIGHT% UG , UD Informacja o prawach autorskich (lewy dolny róg każdej strony)
%WEBBGCOLOR% UD Kolor tła działu
%NOSEARCHALL% UD Wyłączenie działu z przeszukiwań wszystkich działów (web="all"; należy ustawić na on dla działów ukrytych)
%NEWTOPICBGCOLOR% UG , UU Kolor tła nowej strony
%NEWTOPICFONTCOLOR% UG , UU Kolor czcionki na nowej stronie
%EDITBOXWIDTH% UG , UU Szerokość okienka edycyjnego: 70
%EDITBOXHEIGHT% UG , UU Wysokość okienka edycyjnego: 17
%RELEASEEDITLOCKCHECKBOX% UG , UU Domyślna wartość w polu "Odblokowanie edycji strony" (UnlockTopic) na podglądzie strony. Jeśli ustawiono Set RELEASEEDITLOCKCHECKBOX = checked, to pole zostanie włączone, natomiast jeśli pozostawiono wartość pustą, to pole zostanie wyłączone. Jeśli pole zostanie włączone, to należy kliknąć Edycja, aby wprowadzić dodatkowe zmiany na stronie. Nie należy klikać Wstecz, gdyż może się zdarzyć, że w tym samym czasie inna osoba wprowadzi zmiany na stronie. Wartość: %RELEASEEDITLOCKCHECKBOX%
%DONTNOTIFYCHECKBOX% UG , UU Domyślna wartość pola "Niewielkie zmiany, nie powiadamiaj" (DontNotify) na podglądzie strony. Ustawienie Set DONTNOTIFYCHECKBOX = checked, spowoduje włączenie pola, natomiast ustawienie puste - wyłączenie. Wartość:
%ATTACHLINKBOX% UG , UU Domyślna wartość pola skrót na stronie służącej do przesyłania załączników. Ustawienie Set ATTACHLINKBOX = checked, spowoduje włączenie pola, ustawienie puste - wyłączenie. Włączenie tego pola spowoduje utworzenie skrótu na dole strony do pliku załącznika. Wartość:
%HTTP_EQUIV_ON_VIEW% UG http-equiv meta-identyfikatory dla skryptów: view, rdiff, attach, search*.
%HTTP_EQUIV_ON_EDIT% UG , UU http-equiv meta-identyfikatory dla skryptu edit.
%HTTP_EQUIV_ON_PREVIEW% UG , UU http-equiv meta-identyfikatory dla skryptu preview.
%DENYWEBCHANGE% UD Lista użytkowników i grup nieuprawnionych do zmiany stron w danym dziale TWiki (więcej na stronie TWikiAccessControl).
%ALLOWWEBCHANGE% UD Lista użytkowników i grup uprawnionych do zmiany stron w danym dziale TWiki (więcej na stronie TWikiAccessControl).
%DENYTOPICCHANGE% (dowolna strona) Lista użytkkowników i grup nieuprawnionych do edycji danej strony (więcej na stronie TWikiAccessControl).
%ALLOWTOPICCHANGE% (dowolna strona) Lista użytkowników i grup uprawnionych do edycji danej strony (więcej na stronie TWikiAccessControl).
%DENYWEBRENAME% UD Lista użytkowników i grup nieuprawnionych do zmian nazw stron w danym dziale TWiki (więcej na stronie TWikiAccessControl).
%ALLOWWEBRENAME% UD Lista użytkowników i grup uprawnionych do zmian nazw stron w danym dziale TWiki (więcej na stronie TWikiAccessControl).
%DENYTOPICRENAME% (dowolna strona) Lista użytkowników i grup nieuprawnionych do zmiany nazwy danej strony (więcej na stronie TWikiAccessControl).
%ALLOWTOPICRENAME% (dowolna strona) Lista użytkowników i grup uprawnionych do zmiany nazwy danej strony (więcej na stronie TWikiAccessControl).
%FINALPREFERENCES% UG , UD Lista ustawień, które nie mogą być zmienione na niższym poziomie dostępu.

Uwaga: Na stronie TWikiPreferences zdefiniowano mniej przydatne zmienne takie, jak: %BR% - znak końca linii, %RED% - kod koloru czerwonego, %H% - oznaczenie ikony pomocy HELP.

Ustawianie zmiennych konfiguracyjnych

  • Ustawienie zmiennych konfiguracyjnych w TWiki przebiega zawsze tak samo. W oddzielnej linii listy wyliczeniowej (może to być lista wielopoziomowa) należy wpisać:
    [wielokrotność 3 spacji] * [spacja] Set [spacja] NAZWA [spacja] = [wartość]
    Przykłady:
  • Set NAZWA = wartość
    • Set NAZWA = wartość

Tworzenie nowych zmiennych

  • Nowe zmienne globalne, lub zmienne na poziomie działu mogą być tworzone tak, jak to podano w punkcie Ustawianie zmiennych. Jako wartość zmiennej może wystąpić sformatowany tekst, skróty do stron, adresy plików graficznych itd. W miejscu wpisania zmiennej zostanie wpisana jej wartość.

Przykład: utworzenie zmiennej zawierającej logo danego działu TWiki
  • Aby za pomocą instrukcji %MOJELOGO% wstawić logo w dowolnym miejscu strony, należy zdefiniować zmienną na stronie WebPreferences i załączyć plik graficzny, np.: mojelogo.gif. Plik można załączyć do strony WebPreferences, lub, aby jej nie zaśmiecać, do dowolnej innej strony w danym dziale, np.: StronaLogo:
    • Set MOJELOGO = %PUBURL%/TWiki/StronaLogo/mojelogo.gif
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright ©. Zawartość tej strony jest własnością osób współpracujących.
Wyślij pomysły, pytania, problemy dotyczące TWiki
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TWikiVariables