Die Erweiterung Bootstrap für Contao unterstützt durch ein Frontend-Modul die modalen Fenster von Bootstrap. Dabei ist es möglich Inhalte dynamisch zu laden. Die Daten werden dabei durch SimpleAjax geladen.

Zur Verlinkung der generierten modalen Fenstern bietet die Erweiterung den Insert-Tag an. Dieser kann auf verschiedene Art und Weise genutzt werden:

1. Angabe
2. Ausgabe

{{modal::link::ID}}
<a href="#modal-ID">Modulname</a>

{{modal::link::ID::Dialogfenster öffnen}}
<a href="#modal-ID">Dialogfenster öffnen</a>

<a href="{{modal::ID}}">Name des Moduls</a>
<a href="#modal-ID">Name des Moduls</a>

<a href="{{modal::ID::article::5}}">Dialogfenster öffnen</a>
<a href="SimpleAjax.php?modal=ID&dynamic=article&id=5" data-target="#modal" data-remote="SimpleAjax.php?modal=ID&dynamic=article&id=5">Dialogfenster öffnen</a>

Dank der leicht konfigurierbaren Aufbaus der Erweiterung ist es möglich das Ausgabeformat des Links anzupassen. Dazu muss man in der system/config/initconfig.php folgende Zeilen eintragen:

# Parameter sind Seiten-ID sowie Modul-ID 
$GLOBALS['BOOTSTRAP']['modal']['remoteUrl'] = 'modal/%s/%s/'; 

# Parameter sind Seiten-ID, Modul-ID, 
# den dynamischen Typ (article, form, module) und dessen ID 
$GLOBALS['BOOTSTRAP']['modal']['remoteDynamicUrl'] = 'modal/%s/%s/%s/%s/';

Nun ist es noch notwendig in der .htaccess die Anpassungen vorzunehmen, sodass SimpleAjax diese auch laden kann:

# einzutragende Rewrite-Regeln
RewriteRule ^modal/([0-9]+)/([0-9]+)/([a-z]+)/([0-9]+)/?$ SimpleAjax.php?page=$1&modal=$2&dynamic=$3&id=$4 [L]
RewriteRule ^modal/([0-9]+)/([0-9]+)/?$ SimpleAjax.php?page=$1&modal=$2 [L]

# Vor folgenden Zeilen einfügen
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php [L]

Das ist alles! Die URLs der modalen Fenster sind nun angepasst. Dank der Insert-Tags und der Konfigurationsvariablen werden die Änderungen auf allen bereits eingefügten Links übernommen.

Zurück Einen Kommentar schreiben