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


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

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
 
Zuletzt geändert: il 29/01/2026 alle 20:09