, ''<nav>, <ul>, itd. |
| CSS razredi | class=„my-class“ |
| Vgrajeni slogi | style=„color: red;“ |
| JavaScript | onclick=„…“ (uporabljajte previdno) |
| Font Awesome | <i class=„fa fa-home“></i> |
| wki18n oznake | Domov |
| Vgrajeni prevodi | de:Besedilo|en:Text |
Konfiguracija
Skrbniške nastavitve
Preko Skrbnik → Konfiguracija → wksnippet:
| Nastavitev | Tip | Privzeto | Opis |
allowPhp | Vklop/Izklop | Izklop | Dovoli kodo PHP v izsečkih (varnostno tveganje!) |
Skrbniški vmesnik
Prek Skrbnik → Snippets je mogoče izsečke upravljati neposredno:
| Funkcija | Opis |
| Seznam izsečkov | Prikaže vse razpoložljive izsečke s predogledom |
| Urejanje izsečka | Spremeni vsebino HTML v urejevalniku besedila |
| Nov izseček | Ustvari nov ključ izsečka |
| Brisanje izsečka | Odstrani datoteko izsečka (s potrditvijo) |
Primer izsečka (main_menu.html)
Datoteka: lib/plugins/wksnippet/snippets/main_menu.html
<nav class="main-menu">
<ul class="menu-list">
<li class="menu-item"><a href="?id=start">Domov</a></li>
<li class="menu-item"><a href="?id=docs">Projektna dokumentacija</a></li>
<li class="menu-item"><a href="?id=contact">Kontakt</a></li>
</ul>
</nav>
Primer izsečka (go_back.html)
Datoteka: lib/plugins/wksnippet/snippets/go_back.html
<div class="go-back">
<i class="fa fa-arrow-left"></i>
<a href="javascript:history.back()">Nazaj</a>
</div>
Primeri
Primer 1: Glavni meni v stranski vrstici
Zahteva: Centralni navigacijski meni za vse strani.
Definicija snippeta:
[main_menu]
<nav class="main-menu">
<ul>
<li><a href="?id=start">Domov</a></li>
<li><a href="?id=sl:docs:start">Projektna dokumentacija</a></li>
</ul>
</nav>
Uporaba v sidebar.txt:
~~NOCACHE~~
{{wk:snippet>main_menu}}
Rezultat:
Meni se pojavi na vseh straneh
Prevodi se samodejno uporabijo
Spremembe so centralizirane v konfiguraciji
Primer 2: Povezava nazaj z ikono
Zahteva: Enotna povezava nazaj v pod-imenskih prostorih.
Definicija snippeta:
[go_back]
<div class="go-back" style="margin-bottom: 1em;">
<i class="fa fa-arrow-left" style="margin-right: 0.5em;"></i>
<a href="javascript:history.back()">de:Zurück|en:Back|sl:Nazaj</a>
</div>
Uporaba v sidebar1.txt:
~~NOCACHE~~
{{wk:snippet>go_back}}
{{wk:acmenu}}
Primer 3: Kontaktna skatla
Zahteva: Veckratno uporabne kontaktne informacije.
Definicija snippeta:
[contact_box]
<div class="contact-box">
<h4>de:Kontakt|en:Contact|sl:Kontakt</h4>
<p>
<i class="fa fa-envelope"></i> info@example.com<br>
<i class="fa fa-phone"></i> +49 123 456789
</p>
</div>
Uporaba:
{{wk:snippet>contact_box}}
Primer 4: Vecjezicno podnozje
Zahteva: Podnozje z dinamicnim letom in lokaliziranimi povezavami.
Definicija snippeta:
[footer]
<footer class="site-footer">
<div class="footer-content">
<p>© 2025 conf:title</p>
<nav class="footer-links">
<a href="?id=kolofon">menu_imprint</a> |
<a href="?id=zasebnost">menu_privacy</a> |
<a href="?id=zemljevid">menu_sitemap</a>
</nav>
</div>
</footer>
Kako deluje
Procesni cevovod
1. Zaznava sintakse
└── Najde vse {{wk:snippet>...}} oznake
2. Iskanje snippeta
└── Išce ime snippeta v konfiguraciji
└── Izvlece HTML vsebino
3. Obdelava wki18n
└── Zamenja ... oznake v snippetu
└── Uporabi trenutni jezik
4. HTML izhod
└── Vstavi obdelano HTML kodo v stran
└── Brez dodatnega escaping-a (surov HTML)
Vrstni red obdelave
| Prioriteta | Vticnik | Sort vrednost |
| 1 | wki18n | 305 |
| 2 | wksnippet | 310 |
| 3 | wkimage | 319 |
wki18n se obdela pred wksnippet, da prevodi v snippetih delujejo pravilno.
Integracija
Z wki18n
Snippeti podpirajo vse variante sintakse wki18n:
[multilingual_block]
<div class="info">
greeting
de:Hallo|en:Hello|sl:Zdravo
{{wk:lang:en>english_only_text}}
</div>
Tipicna struktura stranske vrstice:
~~NOCACHE~~
{{wk:snippet>go_back}}
{{wk:acmenu}}
Z wkimage
Snippeti lahko vsebujejo tudi slike:
[logo_block]
<div class="logo">
{{wk:image>wiki:logo.png|width=100%|maxwidth=200}}
</div>
Varnost
Prednosti pred htmlok
| Vidik | htmlok | wksnippet |
| HTML vnos | Prosto v vsaki strani | Samo preko skrbnika |
| Varnostno tveganje | Visoko (XSS, vbrizgavanje) | Nizko (nadzorovano) |
| Revizija | Tezka (razpršeno) | Enostavna (centralno) |
| Uporabniške pravice | Kdorkoli s pravicami urejanja | Samo skrbniki |
Dobre prakse
Ohranjajte JavaScript minimalen - Samo ko je nujno potrebno
Zunanje povezave s target=„_blank“ - Varnost z rel=„noopener“
Brez obcutljivih podatkov - Brez
API kljucev, gesel v snippetih
Edinstvena imena - Izberite opisna imena snippetov
Obravnava napak
Vedenje ob napakah
| Scenarij | Vedenje |
| Snippet ni najden | Izpise [snippet_name not found] |
| Prazen snippet | Ne izpise nicesar |
| Neveljaven format | Ignorira neveljavne vrstice |
| wki18n napaka | Vrne kljuc (nadomestna vrednost) |
Razhroščevanje
Ce se pojavijo tezave, preverite:
Ali je ime snippeta pravilno zapisano?
Ali se definicija zacne z [ime]?
Ali je nastavljen za dinamicno vsebino?
Ali wki18n oznake delujejo posamezno?
Zmogljivost
Priporocila
| Scenarij | Priporocilo |
| Staticni snippeti | Pustite predpomnilnik omogocen |
| Dinamicni snippeti (jezik) | Uporabite |
| Veliki snippeti | Razdelite v manjše |
| Veliko snippetov | Ne definirajte vec kot 50 |
Predpomnjenje
Strani z jezikovno odvisnimi snippeti naj imajo na zacetku, da se prikaže pravilna jezikovna razlicica.
Zgodovina verzij
| Verzija | Datum | Spremembe |
| 2.0.0 | 2026-01-06 | Preimenovanje iz wvdschunk v wvdssnippet |
| 1.0.0 | 2025-01-06 | Zacetna izdaja |
Glej tudi
Tehnicna referenca
Razred: syntax_plugin_wksnippet
Datoteka: lib/plugins/wksnippet/syntax.php
| Metoda | Opis |
getType() | Vrne substition |
getSort() | Vrne 310 (po wki18n) |
connectTo($mode) | Registrira vzorec \{\{wk:snippet>[^}]+\}\} |
handle($match, …) | Izvlece ime snippeta |
render($mode, …) | Izda HTML vsebino |
Razred: helper_plugin_wksnippet
Datoteka: lib/plugins/wksnippet/helper.php
| Metoda | Parametri | Vrne | Opis |
getSnippets() | - | array | Naloži vse izsečke iz mape snippets |
get() | $name | string | Vrne vsebino izsečka |
Razred: admin_plugin_wksnippet
Datoteka: lib/plugins/wksnippet/admin.php
| Metoda | Opis |
html() | Izriše skrbniški vmesnik |
handle() | |