Grundlagen, Einbindungen und Hilfsfunktionen des WACMS Frontends — Konstanten, Bild-/Video-Helfer und Datum-Funktionen.
Grundeinstellungen
Wird bei der Installation im Verzeichnis _root/ angelegt. Lädt Credentials aus _root/.env.
Code
// _root/.env
DB_HOST="localhost"
DB_DATABASE="meine_db"
DB_USERNAME="db_user"
DB_PASSWORD="geheim"
WEBADMIN_KEY="XXXX-XXXX-XXXX-XXXX"
SITE_LANGUAGE="de"
SITE_ID="1"
Parameter
| Variable | Beschreibung |
|---|---|
| DB_* | Datenbank-Verbindung (Host, User, Passwort, Name) |
| WEBADMIN_KEY | Lizenzschlüssel |
| SITE_LANGUAGE | Standardsprache (de, en, fr, it) |
| SITE_ID | Website-ID in tbl_grunddaten_webseiten |
Muss als erstes auf jeder Frontend-Seite eingebunden werden. Startet Session, lädt DB-Verbindung, Cache und Maintenance-Check.
Code
<?php include("functions/functions.php"); ?>
Seiten-Einbindungen
Gibt Title-Tag, Meta-Description, OG-Tags etc. aus. Muss im <head> stehen.
Code
<?php metaOutput(); ?>
Gibt alle Favicon-Link-Tags aus. Muss im <head> stehen.
Code
<?php faviconOutput(); ?>
CSS und Scripts aktivierter Dienste (Google Tag Manager, Analytics, etc.). Muss im <head> stehen.
Code
<?php engineHeadOutput(); ?>
Scripts aktivierter Dienste die direkt nach <body> stehen müssen.
Code
<?php engineBodyOutput(); ?>
Konstanten & Grundwerte
Verfügbare Konstanten
| Konstante / Funktion | Beschreibung | Ausgabe (Live) |
|---|---|---|
| DOMAIN | Aktuelle Domain | v51.beta.wacms.org |
| setting("2") | URL der Webseite | https://v51.beta.wacms.org |
| SITE_ID | Aktuelle Website-ID | 1 |
| setting("1") | Seitenname | WEBadmin 5.1 - BETA (Entwicklung) |
| LANGUAGE | Aktuelle Sprache (de, en, …) | de |
| setting("3") | Meta-Beschreibung | |
| setting("4") | Meta-Keywords | Test,Demo Seite |
| setting("5") | Mail-Absendername | Test Sendgrid |
| setting("6") | Mail-Absenderadresse | infoservice@onenation.ch |
| setting("9") | Dateimanager-Pfad | |
| setting("21") | Bilder-Pfad | Daten |
| setting("22") | Videos-Pfad | _bilder |
Copy-Beispiel
echo DOMAIN; // z.B. example.com
echo SITE_ID; // z.B. 1
echo LANGUAGE; // z.B. de
echo setting("1"); // Seitenname
echo setting("2"); // URL
Output-Funktionen
Gibt einen Textbaustein aus tbl_cms_output zurück. Mehrsprachig — gibt den Wert in der aktuellen LANGUAGE zurück.
Code
// Vollständiger Textinhalt
echo getOutput("42");
// Kurz-Variante (Extension)
echo getOutputExtension("42");
Ausgabe (Live) — getOutput("1")
Datum-Funktionen
Hilfsfunktionen für übersetzte Wochentag- und Monatsnamen in der aktuellen LANGUAGE. Parameter: Unix-Timestamp.
Code
$ts = time(); // oder ein DB-Timestamp
echo getDateWeekday($ts); // z.B. "Montag"
echo getDateWeekdayShort($ts); // z.B. "Mo"
echo getDateMonth($ts); // z.B. "Januar"
echo getDateMonthShort($ts); // z.B. "Jan"
Ausgabe (Live)
Bild-Helfer
Gibt Bildpfad zurück. Findet Bilder nach exaktem Namen oder Prefix. Gibt leeren String zurück wenn kein Bild gefunden.
Code
// Bild exakt mit Dateiname "logo" suchen
echo getSingleImage("_bilder/", "logo", "image", "exactly");
echo getSingleImage("_bilder/", "logo", "thumbnail", "exactly");
echo getSingleImage("_bilder/", "logo", "small", "exactly");
echo getSingleImage("_bilder/", "logo", "onlyFile", "exactly");
// Bild nach Prefix "logo" suchen (z.B. logo_2024.jpg)
echo getSingleImage("_bilder/", "logo", "image", "like");
Parameter
| Parameter | Beschreibung |
|---|---|
| $ordner | Pfad zum Bildordner (relativ zum Root) |
| $name | Dateiname (ohne Endung) oder Prefix |
| $format | image = Vollbild mit Pfad · thumbnail = Thumbnail · small = Kleines Thumbnail · onlyFile = nur Dateiname |
| $modus | exactly = genauer Name · like = Name als Prefix |
Ausgabe (Live)
Sucht im angegebenen Ordner nach einem Bild und gibt den vollen Pfad inkl. Dateiname zurück.
Code
echo searchImage("_bilder/_info/", "45", "exactly");
Ausgabe (Live)
Video-Helfer
Hilfsfunktionen für YouTube- und Vimeo-URLs. Extrahieren Typ und ID aus einer URL und erzeugen Embed-Code.
Code
$url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ";
$type = videoTyp($url); // "youtube"
$id = videoId($url); // "dQw4w9WgXcQ"
$embed = videoEmbed($type, $id); // <iframe ...>
$clean = videoNewUrl($url); // Kanonische URL
Parameter
| Funktion | Rückgabe |
|---|---|
| videoTyp($url) | youtube oder vimeo |
| videoId($url) | Video-ID (String) |
| videoEmbed($type, $id) | Fertiger <iframe>-HTML-String |
| videoNewUrl($url) | Kanonische Video-URL |
Ausgabe (Live)