
Ersetzen Sie
Resources/Private/Partials/Page/Favicons.htmldurch statisches HTML aus RealFaviconGenerator. Das Partial ist eine Fluid-Vorlage, die die Website-Konfiguration ausliest (oder auf gebündelte Dateien unterResources/Public/Favicons/).
Architektur
flowchart LR
subgraph assets [Static assets]
BuildStatic["Build/Assets/Static/Favicons/"]
Public["Resources/Public/Favicons/"]
BuildStatic -->|Vite publicDir| Public
end
subgraph site [Site configuration]
SiteCfg["config/sites/*/config.yaml\n(site.configuration.*)"]
end
subgraph output [Frontend head]
Partial["Favicons.html\nheaderData 2039"]
Manifest["Manifest.html\npageType 8412"]
Partial --> SiteCfg
Partial --> Public
Manifest --> Public
end
| Piece | Standort | Rolle |
|---|---|---|
| Favicon-Dateien | Build/Assets/Static/Favicons/ → Resources/Public/Favicons/ | Von Vite kopiert (publicDir); Standard-Fallbacks |
| Head-Partial | Resources/Private/Partials/Page/Favicons.html | Gibt <link rel="icon">, Manifest-Link, optionale Seiten-Meta |
| TypoScript | Configuration/TypoScript/Setup/Page/Page.Favicon.typoscript | page.headerData.2039 = FLUIDTEMPLATE |
| Überschreibung der Site-Einstellung | pageFaviconsFile | Alternativer Teilpfad (95.SitePresentationOverrides.typoscript) |
| Dynamisches Manifest | Configuration/TypoScript/Setup/40.Page.Scripts.typoscript | typeNum = 8412 → Manifest.html (JSON) |
| Site-Felder (Backend) | Configuration/SiteConfiguration/Overrides/sites.php | Dateiverknüpfungsfelder im Website-Datensatz |
Laufzeitverhalten (Favicons.html)
Eingebunden über page.headerData.2039 (siehe Page.Favicon.typoscript und pageFaviconsFile in den Website-Einstellungen).
Favicon-Links
Wenn einer dieser Konfigurationsschlüssel für die Website gesetzt ist, wird der websitespezifische Zweig verwendet:
favicon-96x96-pngfaviconIcofaviconSvgapple-touch-iconwebmanifest
| Site-Feld | Ausgabe |
|---|---|
favicon-96x96-png | <link rel="icon" sizes="96x96" type="image/png"> |
faviconIco | <link rel="shortcut icon"> |
faviconSvg | <link rel="icon" type="image/svg+xml"> |
apple-touch-icon | <link rel="apple-touch-icon" sizes="180x180"> |
webmanifest | <link rel="manifest"> → verknüpfte FAL-Datei |
(keine „webmanifest“-Datei) | <link rel="manifest" href="{f:uri.page(pageType: 8412)}"> → dynamisches JSON |
Wenn keiner dieser Schlüssel gesetzt ist, werden die Standardwerte aus der Erweiterung verwendet:
| Datei | Pfad |
|---|---|
| PNG 96×96 | EXT:mp_core/Resources/Public/Favicons/favicon-96x96.png |
| ICO | EXT:mp_core/Resources/Public/Favicons/favicon.ico |
| SVG | EXT:mp_core/Resources/Public/Favicons/favicon.svg |
| Apple Touch | EXT:mp_core/Resources/Public/Favicons/apple-touch-icon.png |
| Manifest | f:uri.page(pageType: 8412) (dynamisch) |
Alle href Werte durchlaufen f:uri.image (Website-Dateien) oder f:uri.page (Manifest).
Zusätzliche <meta> Tags (dasselbe Partial)
Wenn Seitendaten verfügbar sind:
| Bedingung | Meta-Tag |
|---|---|
{data.keywords} | keywords |
{data.lastUpdated} | last-modified |
{data.author} | author |
{data.author_email} | email |
Site-Eintrag (Backend)
Site-Verwaltung → Sites → [Site] → Konfiguration — Registerkarte „Favicons“ (sites.php):
| Feld | Zweck |
|---|---|
favicon-96x96-png | Primäres PNG-Favicon |
faviconIco | favicon.ico |
faviconSvg | SVG-Favicon |
apple-touch-icon | iOS-Startbildschirm |
webmanifest | Statische site.webmanifest Datei (optional; andernfalls dynamisches Manifest) |
web-app-manifest-192x192 | PWA-Symbol 192×192 (für statische Manifest-Pakete) |
web-app-manifest-512x512 | PWA-Symbol 512×512 |
Dateiverknüpfungen in der Benutzeroberfläche oder in config/sites/[site]/config.yaml, zum Beispiel:
faviconSvg: 't3://file?uid=123'
favicon-96x96-png: 't3://file?uid=124'
Bezeichnungen und Hinweise: Resources/Private/Language/locallang_db.xlf (site.configuration.*).
Dynamisches Web-Manifest (pageType 8412)
Definiert in Configuration/TypoScript/Setup/40.Page.Scripts.typoscript:
- URL: auf derselben Seite wie
typeNum=8412(viaf:uri.page(pageType: 8412)inFavicons.html) - Vorlage:
Resources/Private/Partials/Page/Manifest.html Content-Type: application/manifest+json, 24 Stunden zwischenspeicherbar
Manifest.html erstellt JSON mit:
name/short_nameaussite.configuration.pwaName/pwaShortName, sonst Seitentitel / Kennung- Symbole:
web-app-manifest-192x192.pngundweb-app-manifest-512x512.pngunterResources/Public/Favicons/ - Standard
theme_color/background_color:#333333
Optionale PWA-Schlüssel (pwaName, pwaShortName) können in config.yaml , obwohl sie noch nicht in sites.php TCA registriert sind.
Erstellen/Aktualisieren von Icon-Dateien
Verwenden Sie RealFaviconGenerator, wenn Sie einen vollständigen Icon-Satz benötigen (ICO, PNG-Größen, Apple Touch, Manifest-Icons).
Option A – Website (schnell)
- Laden Sie das Master-Bild hoch (512×512 PNG oder SVG empfohlen).
- Laden Sie die ZIP-Datei herunter.
- Entpacken Sie es in „
Build/Assets/Static/Favicons/“ (nicht direkt inResources/Public/direkt). - Von
Build/:npm run buildodernpm run watch(kopiert statische Assets nachResources/Public/Favicons/).
Option B – CLI (CI-freundlich)
Beispiel unter Verwendung der eingecheckten Build/favicon-settings.json (passen Sie path, Namen und Farben für Ihr Projekt an):
cd Build
npx realfavicon generate ./Assets/Images/favicon.png favicon-settings.json favicon-output.json ./Assets/Static/Favicons
npx realfavicon inject favicon-output.json ./Assets/Static/Favicons ./Assets/Static/Favicons/output.html
npm run build
Generierte Artefakte:
| Datei | Verwenden Sie |
|---|---|
favicon-output.json | Generator-Metadaten (optional in VCS) |
output.html | Nur als Referenz – statische Beispiel-Tags <head> Tags; nicht in Favicons.html |
Icon-Dateien ein + site.webmanifest | Ausgeliefert über Vite an Resources/Public/Favicons/ |
Aktualisieren path in favicon-settings.json , um sie an Ihren bereitgestellten Asset-Pfad anzupassen, falls Sie Icons über ein festes URL-Präfix bereitstellen.
Erwartete Dateinamen (Standardwerte)
Nach einer vollständigen Generierung sollten diese unter Resources/Public/Favicons/:
favicon.svg,favicon.ico,favicon-96x96.pngapple-touch-icon.pngweb-app-manifest-192x192.png,web-app-manifest-512x512.pngsite.webmanifest(optional, wenn Sie nur ein dynamisches Manifest verwenden)
Website-Einstellungen
| Schlüssel | Standard |
|---|---|
pageFaviconsFile | EXT:mp_core/Resources/Private/Partials/Page/Favicons.html |
Überschreiben in den Website-Einstellungen oder settings.yaml nur, wenn Sie ein benutzerdefiniertes Fluid-Partial bereitstellen.
Validierung
- RealFaviconGenerator-Favicon-Prüfung
- Im Browser:
<head>Links und fordere?type=8412nach Manifest-JSON - CLI-Update-Prüfung (falls vorhanden
favicon-output.json):npx real-favicon check-for-update favicon-output.json
Zugehörige Dokumentation
- Konfiguration — Site
config.yamlFelder - Frontend — Vite
publicDirund statische Assets - Backend – Benutzeroberfläche zur Website-Konfiguration