Inhaltsverzeichnis
WvdS.DokuWiki.Cond Plugin
Plugin: wvdscond
Versione: 1.0.0
Namespace: lib/plugins/wvdscond/
Autore: Wolfgang van der Stille zeljko.petrusic@outlook.de
Licenza: GPL 2
Definizione
Il plugin wvdscond consente contenuti condizionali e redirect basati su gruppi utente e lingua del browser. Unisce le funzionalità di wvdsif e i redirect di wvdslang.
Casi d'uso
- Contenuto specifico per gruppo - Mostra informazioni diverse per admin, utenti, ospiti
- Rilevamento lingua - Visualizza automaticamente contenuti nella lingua del browser
- Redirect automatici - Inoltra visitatori ai namespace linguistici appropriati
- Landing page - Distribuisce visitatori in base a gruppi o lingua
Sintassi
Contenuto condizionale
<ifgroup nomegruppo>Contenuto per questo gruppo</ifgroup> <iflang codice_lingua>Contenuto per questa lingua</iflang> <iflang *>Contenuto di fallback</iflang>
Redirect
{{wvds:redirect target="de:start"}}
{{wvds:redirect target="{lang}:start"}}
Parametri
Condizioni di gruppo
| Tag | Descrizione |
|---|---|
<ifgroup admin> | Contenuto per il gruppo admin |
<ifgroup user> | Contenuto per il gruppo user |
<ifgroup @ALL> | Contenuto per tutti (ospiti inclusi) |
Condizioni di lingua
| Tag | Descrizione |
|---|---|
<iflang de> | Contenuto per browser tedesco |
<iflang en> | Contenuto per browser inglese |
<iflang sl> | Contenuto per browser sloveno |
<iflang it> | Contenuto per browser italiano |
<iflang hr> | Contenuto per browser croato |
<iflang *> | Fallback per tutte le altre lingue |
Parametri redirect
| Parametro | Tipo | Descrizione |
|---|---|---|
target | string | Pagina di destinazione (supporta {lang} come placeholder) |
Esempi
Esempio 1: Messaggio di benvenuto specifico per gruppo
<ifgroup admin> **Area amministratori:** Accedi alle [[admin:settings|impostazioni]]. </ifgroup> <ifgroup user> Benvenuto nel tuo spazio personale. </ifgroup> <ifgroup @ALL> Benvenuto! [[wiki:login|Accedi]] per ulteriori funzionalità. </ifgroup>
Esempio 2: Contenuto multilingue
<iflang de> Willkommen auf unserer Webseite! </iflang> <iflang en> Welcome to our website! </iflang> <iflang it> Benvenuti nel nostro sito web! </iflang> <iflang *> Welcome! (Default) </iflang>
Esempio 3: Redirect linguistico automatico
start.txt (pagina root):
{{wvds:redirect target="{lang}:start"}}
Comportamento:
- Browser tedesco → de:start
- Browser inglese → en:start
- Browser italiano → it:start
- Browser non configurato → Lingua predefinita
Esempio 4: Redirect con fallback
{{wvds:redirect target="{lang}:prodotti:panoramica"}}
Se la pagina di destinazione non esiste, il redirect viene ignorato e la pagina corrente viene visualizzata.
Funzionamento
Rilevamento della lingua
1. Lettura header Accept-Language └── Esempio: "it-IT,it;q=0.9,en;q=0.8" 2. Estrazione codice lingua primario └── "it-IT" → "it" 3. Verifica disponibilità └── "it" configurato? → Usa it └── Altrimenti: usa defaultLanguage
Elaborazione redirect
1. Trova tag {{wvds:redirect target="..."}}
2. Sostituisci {lang} con lingua rilevata
3. Verifica esistenza pagina destinazione
4. Redirect o ignora
Configurazione
Impostazioni amministratore
Tramite Admin → Configurazione → wvdscond:
| Impostazione | Tipo | Default | Descrizione |
|---|---|---|---|
defaultLanguage | Testo | de | Lingua di fallback |
availableLanguages | Testo | de,en,sl,it,hr | Lingue disponibili |
Gestione errori
| Scenario | Comportamento |
|---|---|
| Gruppo sconosciuto | Tag viene ignorato |
| Lingua non disponibile | Fallback su defaultLanguage |
| Pagina destinazione non esiste | Redirect ignorato |
| Redirect multipli | Solo il primo viene eseguito |
Note sulla versione
| Versione | Data | Modifiche |
|---|---|---|
| 1.0.0 | 2026-01-06 | Prima pubblicazione - unione di wvdsif e redirect di wvdslang |
Vedi anche
- WvdS.DokuWiki.I18n Plugin - Traduzioni multilingue
- WvdS.DokuWiki.Flat Template - Template con integrazione linguistica
Riferimento tecnico
Classe: syntax_plugin_wvdscond
File: lib/plugins/wvdscond/syntax.php
| Metodo | Descrizione |
|---|---|
getType() | Restituisce substition |
getSort() | Restituisce 300 |
connectTo($mode) | Registra i pattern per ifgroup, iflang, redirect |
handle($match, …) | Estrae i parametri |
render($mode, …) | Esegue la logica condizionale |
Classe: action_plugin_wvdscond
File: lib/plugins/wvdscond/action.php
| Metodo | Descrizione |
|---|---|
_detectLanguage() | Rileva lingua del browser |
_executeRedirect() | Esegue il redirect |
wvdscond PluginAudit bestanden • 2026-03-30▾
Zuletzt geändert: il 29/01/2026 alle 20:09
Diskussion