bloqyDokumentation

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“).

Dateimanager der PHP-Snippets in /config/snippets
Entwicklung → 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:

FunktionErgebnis
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 $bloqy und 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.