© 2025 conf:title
</div>
<div class="links">
<a href="?id=kolofon">menu_imprint</a>
<a href="?id=zasebnost">menu_privacy</a>
</div>
</footer>
</code>
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~~
{{wvds: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~~
{{wvds:snippet>go_back}}
{{wvds: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:
{{wvds: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 {{wvds:snippet>...}} oznake
2. Iskanje snippeta
└── Išce ime snippeta v konfiguraciji
└── Izvlece HTML vsebino
3. Obdelava wvdsi18n
└── 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 | wvdsi18n | 305 |
| 2 | wvdssnippet | 310 |
| 3 | wvdsimage | 319 |
wvdsi18n se obdela pred wvdssnippet, da prevodi v snippetih delujejo pravilno.
Integracija
Z wvdsi18n
Snippeti podpirajo vse variante sintakse wvdsi18n:
[multilingual_block]
<div class="info">
greeting
de:Hallo|en:Hello|sl:Zdravo
{{wvds:lang:en>english_only_text}}
</div>
Tipicna struktura stranske vrstice:
~~NOCACHE~~
{{wvds:snippet>go_back}}
{{wvds:acmenu}}
Z wvdsimage
Snippeti lahko vsebujejo tudi slike:
[logo_block]
<div class="logo">
{{wvds:image>wiki:logo.png|width=100%|maxwidth=200}}
</div>
Varnost
Prednosti pred htmlok
| Vidik | htmlok | wvdssnippet |
| 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 |
| wvdsi18n 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 wvdsi18n 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_wvdssnippet
Datoteka: lib/plugins/wvdssnippet/syntax.php
| Metoda | Opis |
getType() | Vrne substition |
getSort() | Vrne 310 (po wvdsi18n) |
connectTo($mode) | Registrira vzorec \\{\\{wvds:snippet>[^}]+\\}\\} |
handle($match, …) | Izvlece ime snippeta |
render($mode, …) | Izda HTML vsebino |
Zasebne metode
| Metoda | Parametri | Vrne | Opis |
getSnippet() | $name | string | Išce snippet v konfiguraciji |
parseSnippets() | $config | array | Razcleni definicije snippetov |
processSnippet() | $content | string |