Entwicklung
PHP-Snippets
Eigenen PHP-Code als Block in Seiten ausgeben, mit $bloqy und den bloqy_-Funktionen.
PHP-Snippets sind kleine PHP-Dateien, die Redakteure mit dem Block „PHP-Snippet“ in Seiten einbinden, etwa für eine Liste der neuesten News oder freie Plätze einer Veranstaltung. Sie liegen in /config/snippets/<name>.php und werden unter Entwicklung → PHP-Snippets bearbeitet (Recht „PHP-Snippets“).

Snippets führen Code auf dem Server aus. Vergib das Recht nur an vertrauenswürdige Personen.
Was ein Snippet bekommt
Die Variable $bloqy mit page (aktuelle Seite), project, site, viewer, settings (Einstellungen des Blocks) und query (GET-Parameter). Dazu Funktionen, unter anderem:
| Funktion | Ergebnis |
|---|---|
bloqy_pages('news', ['limit' => 5]) | Seiten eines Ordners mit Sortierung, Filter und Blättern |
bloqy_page(), bloqy_translation() | eine Seite bzw. ihre Übersetzung |
bloqy_menu(), bloqy_block(), bloqy_text() | Menü, globaler Block, Text je Sprache |
bloqy_media(), bloqy_image() | Mediendatei bzw. fertiges <picture> |
bloqy_form_entries(), bloqy_form_count() | Formulareingänge |
bloqy_e(), bloqy_date(), bloqy_t() | Escapen, Datum, Text je Sprache |
Ausgaben per echo, Texte immer mit bloqy_e() escapen.
Einschränkungen
- Keine Klassen von bloqy verwenden. Im ausgelieferten Paket tragen sie andere Namen, die sich mit jedem Update ändern. Nutze
$bloqyund die Funktionen. - Snippets lesen nur. Wer Seiten oder Medien ändern will, nutzt Automationen.
- Für Ausgaben, die sich je Aufruf ändern (z. B. mit
$bloqy['query']), im Block „Seite nicht cachen“ einschalten.
Werkzeuge im Editor
- Vorlagen beim Anlegen, Vorschläge beim Tippen nach
bloqy_oder$bloqy[. Testen führt den Code (auch ungespeichert) für eine gewählte Seite aus und zeigt Ausgabe, Fehler mit Zeile und den Inhalt von
$bloqy.- Reiter Einstellungen für Redakteure: Felder, die Redakteure am Block ausfüllen.
- Vor dem Speichern wird die Syntax geprüft. Laufzeitfehler sehen nur angemeldete Benutzer, Besucher sehen nichts; der Fehler steht im Log.
Die vollständige Referenz steht in docs/php-snippets.md deiner Installation.