Meta-Informationen und Einstellungen für YRewrite-Domains
Ermöglicht die Verwaltung von Metainformationen für YRewrite-Domains. Das Addon stellt vorkonfigurierte Felder, YOrm-Dataset-Methoden und Backend-Seiten zur Verfügung.
Voraussetzungen: YRewrite ^2.10 mit mindestens einer eingerichteten Domain sowie YForm >=4, <6.
- Installiere das Addon über den REDAXO-Installer
- Konfiguriere in
YRewrite>Metainfodie gewünschten Angaben für deine YRewrite-Domain - Füge in den
<head>-Bereich deines Templates folgenden Code ein:<?= Domain::getHead() ?>
Die konfigurierten Meta-Informationen werden automatisch ausgegeben.
Hinweis: Das YRewrite-SEO-Objekt sowie OpenGraph- und weitere Meta-Tags, die bereits durch dieses Addon kommen, sollten aus deinem Template entfernt werden.
Das Upgrade ist nicht rückwärtskompatibel. Führe das Upgrade im Wartungsmodus durch. Tabellennamen wurden zu rex_yrewrite_metainfo und rex_yrewrite_metainfo_icon geändert.
Methodennamen für Icon-Handling haben sich geändert. Bei überschriebenem head.php Fragment sind Anpassungen erforderlich.
Das Addon bietet folgende Hauptfunktionen:
- Verwaltung von Meta-Informationen für YRewrite-Domains
- Vorkonfigurierte YForm-Felder für häufig benötigte Metadaten
- YOrm-Dataset-Klassen für programmatischen Zugriff
- Integration von PWA-Features und Icon-Management
- Template-Fragmente für automatische Meta-Tag-Ausgabe
- Domain-Name und Beschreibung
- OpenGraph-Metadaten (og:title, og:image, og:type)
- PWA-Einstellungen (App-Name, Icons, Farben)
- Favicon und Touch-Icons
- Custom Meta-Tags
Das Addon basiert auf YForm und integriert sich in die REDAXO-Backend-Struktur mit folgenden Seiten:
YRewrite>Metainfo>Allgemein- Verwaltung der Meta-Informationen für DomainsYRewrite>Icons und PWA-Profile- Verwaltung von PWA-Einstellungen und Favicon-Sets
Icon-Sets können über den RealFavicon-Generator erstellt und über den Medienpool verwaltet werden.
Das Addon stellt eine YOrm-Dataset-Klasse zur Verfügung:
// Aktuelles Domain-Dataset abrufen
$domain = Domain::getCurrent();
// Original YRewrite-Domain-Objekt
$yrewrite_domain = $domain->getYRewrite();
// Domain-ID
$domain_id = $domain->getId();$domain = Domain::getCurrent();
// Website-Titel (für PWA, og:title, etc.)
$title = $domain->getName();
// Website-Logo aus dem Medienpool
$logo = $domain->getLogo();
// OpenGraph-Typ
$og_type = $domain->getType();
// OpenGraph-Bild
$og_image = $domain->getThumbnail();
// Beschreibung
$description = $domain->getDescription();$domain = Domain::getCurrent();
// Icon-Profil abrufen
$icon_profile = $domain->getIcon();
if ($icon_profile) {
// PWA-Name
$app_name = $icon_profile->getName();
// Kurzer App-Name
$short_name = $icon_profile->getShortname();
// Theme-Farbe
$theme_color = $icon_profile->getThemeColor();
// Hintergrundfarbe
$bg_color = $icon_profile->getBackgroundColor();
// Favicon-Dateien
$favicon_png = $icon_profile->getFaviconPng96();
$favicon_svg = $icon_profile->getFaviconSvg();
$apple_touch = $icon_profile->getAppleTouchIcon();
}// Im Template-Head
<?= Domain::getHead() ?>
// Manueller Zugriff auf Metadaten
<?php
$domain = Domain::getCurrent();
if ($domain && $domain->getName()) {
echo '<title>' . rex_escape($domain->getName()) . '</title>';
}
?><?php
$domain = Domain::getCurrent();
// Logo nur ausgeben wenn vorhanden
if ($domain && $domain->getLogo()) {
$media = rex_media::get($domain->getLogo());
if ($media) {
echo '<img src="' . rex_url::media($media->getFileName()) . '" alt="Logo">';
}
}
// PWA-Manifest nur bei verfügbarem Icon-Profil
if ($domain && $domain->getIcon()) {
echo '<link rel="manifest" href="/manifest.json">';
}
?>// Im project-Addon: fragments/yrewrite_metainfo/head.php
<?php
// Standard-Head ausgeben
echo $this->subfragment('yrewrite_metainfo/head.php');
// Zusätzliche Meta-Tags
$domain = Domain::getCurrent();
if ($domain) {
echo '<meta name="author" content="' . rex_escape($domain->getName()) . '">';
echo '<meta name="generator" content="REDAXO">';
}
?>Das Fragment erweitert die Standard-YRewrite-Funktionen um zusätzliche Metadaten für soziale Netzwerke, Messenger und andere Dienste. Dies ermöglicht aussagekräftige Linkvorschauen beim Teilen von Inhalten.
Das Fragment yrewrite_metainfo/head.php kann als Ersatz für die Standard-YRewrite-SEO-Methoden verwendet werden. Bei Bedarf lässt sich das Fragment im project-Addon anpassen oder erweitern.
Du möchtest dieses Addon weiterentwickeln oder hast Vorschläge für Verbesserungen? Die Community freut sich über deine Unterstützung!
Möglichkeiten zur Mitarbeit:
- Issues melden und beheben
- Pull Requests mit Verbesserungen erstellen
MIT Lizenz, siehe LICENSE
Friends of REDAXO
Dank an Alexander Walther für die ursprüngliche Entwicklung und Projektleitung.