TYPO3 Plugin:
lcms_sitepackage
Kurzer Überblick über die TYPO3-Extension lcms_sitepackage
Dieses Sitepaket enthält alle notwendigen Elemente und Abhängigkeiten für die LINKES CMS sowie die CMSLV+. Dies ist die wichtigste Informationsquelle des Projekts für Kunden.
TypoScript
Alle TypoScript-Dateien verwenden die folgenden Dateierweiterungen:
.sts
= setup.cts
= Konstanten.pts
= Seite ts.uts
= user ts
Statische Vorlage
Die statische Vorlage der Erweiterung beinhaltet standardmäßig alle statischen Vorlagen von allen anderen Erweiterungen, von denen sie abhängt. Da keine anderen Dateiendungen akzeptiert werden,
die statischen Templates selbst sind die einzigen TypoScript-Dateien mit der Standard-Dateiendung (constants.txt
und setup.txt
)
Konstanten
Derzeit gibt es zwei Kategorien von Konstanten: eine, die nur von Administratoren bearbeitet werden kann und eine, die von den Editoren selbst angepasst wird.
Da dies derzeit nicht möglich ist, müssen wir ein Modul entwickeln, mit dem Redakteure genau das tun können. Die Kategorien sind lcms_user
und lcms_admin
,
beide mit Titeln aus Backend.xlf
beschriftet: constants.categories.lcms_user
und, was höchst überraschend ist, constants.categories.lcms_admin
Konstanten sind in der Datei plugin.lcms_sitepackage
enthalten. Sie werden über die statische Vorlage der Erweiterung eingebunden. Die Ausgabe im Konstanteneditor ist
beschriftet und erklärt in deutscher und englischer Sprache über Bezeichnungen in der Backend.xlf
.
Einrichten
Alle Konstanten werden in den Einstellungen von page.10.settings
so zur Verfügung gestellt, dass sie in fluid-Vorlagen zugänglich sind. plugin.lcms_sitepackage.CONSTANT_NAME
wird zum
settings.CONSTANT_NAME
. Um die Einstellungen auch in Inhaltselementen nutzen zu können, gibt es in der setup.txt
einen Abschnitt, der sie in die entsprechenden
des TypoScript-Objekts des Inhaltselements wie folgt:
tt_content {
header.settings.lcms < Seite.10.settings
...
}
Um sie mit internen Erweiterungsvorlagen zur Verfügung zu stellen, ist so etwas wie das hier erforderlich:
plugin {
tx_cwtwitter {
einstellungen {
// Einstellungen aus dem Sitepackage kopieren
lcms < Seite.10.Einstellungen
}
}
}
Zusätzliches TypoScript
Zusätzliches TypoScript muss in Configuration/TypoScript/Helper
eingetragen werden. Wenn sowohl Konstanten als auch Setup erforderlich sind, werden zwei gleichnamige Dateien mit unterschiedlichen Erweiterungen verwendet
ist zu verwenden. Wie vorstehend erläutert, werden Konstanten und Setup durch ihre jeweiligen Dateierweiterungen unterschieden. TypoScript-Dateien in diesem Ordner werden dann automatisch erstellt
zu den statischen TS-Dateien des Sitepakets hinzugefügt werden.
Erweiterung TypoScript
TypoScript-Anpassungserweiterungen müssen in Configuration/TypoScript/Extensions
eingefügt werden. Die Namenskonventionen entsprechen der Beschreibung im obigen Abschnitt.
TypoScript-Dateien in diesem Ordner werden auch automatisch zu den statischen TS-Dateien der Sitepackages hinzugefügt.
Seite-TS-Konfiguration
Die Struktur ähnelt derjenigen im bootstrap_package. Der einzige Unterschied sind Dateiname und Erweiterung der Vorlage (Sitepackage.pts
). Im Gegensatz zur statischen
vorlage, beinhaltet die Page-TS-Config derzeit nicht automatisch eine mögliche Page-TS-Config anderer Erweiterungen, von denen sie abhängt.
Lokalisierung
Jedes einzelne Label, Item-Label, Text, Button, etc. muss in den Lokalisierungsdateien angegeben werden, um die Extension richtig lokalisiert und flexibel zu halten.
Sprache
Derzeit gibt es drei verschiedene Lokalisierungsdateien in Ressourcen/Privat/Sprache
:
Backend.xlf
- für Labels im Backendlocallang.xlf
- für Labels im Frontendlocallang_csh_pages.xlf
- für Hilfetexte im Backend
Diese Dateien enthalten die englischen Standardtexte. Ihre deutschen Kollegen sind dabei:
de.Backend.xlf
de.locallang.xlf
de.locallang_csh_pages.xlf
Formate
Formate wie Datum, Uhrzeit, Währung oder andere sprachspezifische Formate können auch in den oben genannten Lokalisierungsdateien angegeben werden, wodurch das Format automatisch umgestellt wird
beim Umschalten der Konfiguration der Website von einer Sprache in eine andere. Derzeit sind die beiden Formate locale.dateFormat
und locale.timeFormat
verfügbar.
Immer präsentere Abschnitte in der Frontend-Ausgabe der Website
Einige Elemente werden auf allen Seiten einer bestimmten Website enthalten sein, unabhängig vom Layout. Im Gegensatz zur Standardstruktur des bootstrap_package ist der fluid vorlagen für Kopf- und Fußzeile sind granularer. Das bedeutet, dass, anstatt z.B. alle Kopfelemente in einem Navigationsteil zusammenzufassen, Teiltöne nur das enthalten dürfen, was sie enthalten die ihr Name vermuten lässt.
Kopfzeile
Der Teil Private/Teilbereiche/Seite/Struktur/Header.html
vereint alle notwendigen Elemente.
Logo
Das Logoobjekt lib.logo
wird in Configuration/TypoScript/Helper/leftpartylogo.sts
bereitgestellt und der fluid-Vorlage der Seite als Variable zur Verfügung gestellt. Es wird entweder hochgeladen oder automatisch
generiert. Das Sitepackage bietet diese beiden zusätzlichen Felder, um dies zu erreichen:
tx_lcmssitepaket_Linksparteienlogo
tx_lcmssitepaket_linke_Struktur_der_Linksparteien
Das Logofeld ist auf genau eine Datei beschränkt, die entweder hochgeladen oder aus bestehenden Dateien ausgewählt werden kann. Es sollte 600x220 in der Größe und im png-Format sein, um die beste Lösung zu finden
retina- oder High-Dpi-Displays. Wenn der Kunde keine Logodatei zur Verfügung hat, kann er den Namen seiner Struktur in das entsprechende Feld eingeben. Ein Logo mit
dieser Text wird dann generiert und anstelle einer Datei angezeigt. Wenn beide Felder leer sind, generiert der Mechanismus standardmäßig ein Logo aus der konstanten plugin.lcms_sitepackage.customer.structure
so dass die Website immer mit einem Logo versehen ist.
Kopfhintergrund
Wie beim Logo ist das Feld auf eine Datei beschränkt. Wenn keine angegeben wird, ist der Hintergrund der Kopfzeile derzeit standardmäßig grau.
Social Media Links
Diese Links werden aus mehreren Konstanten und Sprachbeschriftungen im Teil Private/Teilen/Seite/Struktur/SocialMediaLinks.html
zusammengesetzt. Redakteure können diese Links ändern, indem sie die
entsprechende Konstanten, z.B. plugin.lcms_sitepackage.customer.socialMediaProfiles.facebook.profile
.
Navigation
Die Navigation ist in diese drei Teiltöne unterteilt:
Private/Teilbereiche/Seite/Navigation/Primary.html
Private/Teilbereiche/Seite/Navigation/Sekundär.html
Private/Teilbereiche/Seite/Navigation/Tertiär.html
Im Gegensatz zum bootstrap_package wird die Notwendigkeit, Teiltöne zu rendern, überprüft, bevor der Teil geladen wird.
Fußzeile
Die partielle Private/Teilbereiche/Seite/Struktur/Fußzeile.html
vereint alle notwendigen Elemente.
Navigation
Die Fußzeile enthält sowohl die Primär- als auch die Metanavigation. Für die primäre Navigation wird derselbe Teilbereich wie für die primäre Navigation im Kopf verwendet. Die Metanavigation wird über die Konstanten der bootstrap_packages in den Verzeichnismodus versetzt:
page.theme.meta.navigationValue = {$plugin.lcms_sitepackage.navigation.meta.startUid}}
page.theme.meta.navigationType = Verzeichnis
Genau wie in den alten LINKES CMS sind Links zur Metanavigation Seiten, die sich in einem Ordner befinden, der meist Fußnavigation genannt wird.
Social Media Links
Social Media Links verwenden den gleichen Teil, der für sie in der Kopfzeile verwendet wird.
Logo
Das Logo-Objekt, das im Header verwendet wird, wird auch hier verwendet.
Strukturinformationen
Adressen und Kontaktinformationen der Website werden in Konstanten gespeichert und in Footer.html
dargestellt. Die Konstanten können von den Editoren selbst geändert werden.
Inhaltselemente
Bilder
Da es vier unterschiedliche Haltepunkte im Layout gibt, müssen mindestens vier verschiedene Versionen eines einzelnen Bildes bereitgestellt werden. Unter Berücksichtigung von Retina-Displays,
verdoppelt sich diese Zahl, so dass die Bilder schließlich in acht verschiedenen Auflösungen wiedergegeben werden. Damit dies funktioniert, sollten Originaldateien mit mindestens der doppelten Größe des Maximums verwendet werden
bildgröße (d.h. das größtmögliche Bild auf dem größtmöglichen Ansichtsfenster) erforderlich sind. Natürlich sind Bilder dieser Auflösung oft nicht verfügbar, insbesondere bei
auf aktualisierten älteren Websites. Die Anzahl der verschiedenen gerenderten Auflösungen hängt daher von der Breite des Originals ab.
Die Magie wird in Ressourcen/Private/Teilen/InhaltenElementen/Medien/Rendering/Image.html
durchgeführt.
Um das JavaScript loszuwerden, das die img-Tags src-Attribute entsprechend der aktuellen Viewportgröße ändert, wurde das Rendering vom bootstrap_package's umgestellt proprietäre Datenattribute an den html-Standard srcset und Größenattribute. Weder IE noch Edge kümmern sich um sie (obwohl für Edge die Funktion derzeit in Arbeit ist), aber glücklicherweise verwenden sie standardmäßig die img-Tags standard src attribute.
Text und Medien
Im Gegensatz zum Standard Bootstrap Package bieten wir die Möglichkeit, die Breite eines oder mehrerer Medienelemente in der Frontend-Ausgabe der Website anzupassen. Dies erlaubt nicht
benutzer, um eine Bildbreite in Pixeln festzulegen, aber einen bestimmten Prozentsatz der Spaltenbreite für das andere Medienelement als den Standard 50% zu reservieren. Um das zu erreichen, fügen wir hinzu
das Feld tx_lcmssitepackage_imageareawidth
zur tt_content
Tabelle.
Formular-Framework
Benutzer sollten nicht alle möglichen Formularfeldoptionen sehen. Deshalb verstecken wir ein paar davon in der yaml-Konfigurationsdatei des Formular-Editors. Dies geschieht durch Entleeren des
konfiguration für jedes Formularelement (wie in TypoScript). Um dies zu erreichen, setzen wir den formEditor
auf jedes Formularelement, das wir ausblenden wollen, und lassen es leer.
Außerdem benötigen Benutzer nicht alle angegebenen Prüfer für die Formularelemente. Da es zu schwierig war, sie durch Yaml zu verstecken, haben wir uns entschieden, sie durch CSS zu verstecken.
Seitenüberschrift
Berührungs-Symbole
Der Seitenkopf enthält mehrere Links zu einem Symbol in verschiedenen Größen. Wenn Benutzer auf mobilen Geräten eine Verknüpfung zur Website auf ihren Heimbildschirmen eingeben, werden diese Symbole wie folgt angezeigt
die mit diesem Link verbunden sind. Derzeit werden Symbole für iOS-, Android- und Windows Mobile-Geräte mitgeliefert. Alle verschiedenen Versionen dieses Homescreen-Symbols werden generiert aus
die gleiche Datei, so dass eine Änderung der Datei automatisch zu einem Update aller Symbole führt. Links zu den Symbolen werden in Link (iOS, Android) oder Meta-Tags (Windows Mobile) bereitgestellt.
Sie werden in setup.txt
gerendert, basierend auf Konstanten aus constants.txt
. Zusätzlich wird für iOS-Systeme ein Titel für den Homescreen-Link bereitgestellt.
Facebook Grafik-Tags öffnen
Um Open Graph Tags zur Frontend-Ausgabe der Website hinzuzufügen, verwenden wir unsere eigene Erweiterung msp_socialgraph. lcms_sitepackage-spezifische Konfiguration wird hinzugefügt in
Konfiguration/TypoScript/Extension/mspsocialgraph.cts
. Weitere Informationen finden Sie in der Readme von msp_socialgraph.
Twitterkarten
TODO: Twitter-Karten basierend auf og-Tags bereitstellen
Beschreibung und Schlüsselwörter
TODO: von der Seite oder einem anderen Datentyp (z.B. News), der gerade angezeigt wird
Backend-Benutzerrechte und -Konfiguration
Um den Anpassungsbedarf nach einem Sitepackage-Update, das zusätzliche Backend-Rechtedefinitionen erfordert, auf ein Minimum zu reduzieren, wäre es ideal, Backend-benutzerbezogene Daten speichern zu können konfiguration im Sitepackage selbst. Da dies nicht möglich ist, haben wir uns für einen Ansatz entschieden, der so viele bakcned rights related elements in die user ts config verschiebt. Die RTE-Konfiguration ist auch eine an Benutzer statt an Seiten gebunden. Wir werden sehen, ob das eine gute Idee war, wenn wir verschiedene RTE-Konfigurationen für verschiedene Teile des Seitenbaums verwenden wollen, z.B. für einen Newsletter.
UserTSConfig
Alle Dateien sind in Configuration/TypoScript/UserTS
gespeichert.
-
Konfiguration/TypoScript/UserTS/AllUser
Dieser Ordner enthält alle Anpassungen, die sowohl Administratoren als auch Editoren betreffen sollen, d.h. hinzugefügte Elemente in Auswahllisten oder umbenannte Felder und Labels. Damit das funktioniert, die user ts config muss zu einer Benutzergruppe hinzugefügt werden. Jede einzelne Installation sollte daher eine Admin-Gruppe haben, die die Benutzer-Ts wie diese beinhaltet:
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:lcms_sitepackage/Configuration/UserTS/AllUsers" extensions="uts">
-
Konfiguration/TypoScript/UserTS/Èditoren
Dieser Ordner enthält alle notwendigen Dateien, um Formulare, Module usw. für Redakteure anzupassen. Jede einzelne Installation sollte daher eine Editoren-Gruppe haben, die die Benutzer-Ts so beinhaltet:
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:lcms_sitepackage/Configuration/UserTS/AllUsers" extensions="uts">
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:lcms_sitepackage/Configuration/UserTS/Editors" extensions="uts">
TCA
Um das Backend-Erlebnis angenehmer zu gestalten, finden Sie unter Konfiguration/TCA/Overrides
eine ganze Reihe von Änderungen an Formularen
Erweiterte Erweiterungen
Neuigkeiten
Füge einen Nachrichtenfilter zum Plugin pi1 hinzu. Die Konfiguration ist die gleiche wie in der listAction.
Zusätzliches flexForm-Feld'filterOptions', um die gewünschten Optionen für den Filter auszuwählen. Mögliche Optionen sind Filter nach Kategorie und/oder Datum (Jahr/Monat).
Newsfilter ist eine eigenständige Ansicht. Es kommt also auf eine Listenansicht an.
Benutzerdokumentation
Inhaltselemente
Text und Medien
Breite des Medienbereichs
Im Gegensatz zum Standard Bootstrap Package bieten wir die Möglichkeit, die Breite eines oder mehrerer Medienelemente in der Frontend-Ausgabe der Website anzupassen. Dies erlaubt nicht benutzer, um eine Bildbreite in Pixeln festzulegen, aber einen bestimmten Prozentsatz der Breite des Inhaltselements für das andere Medienelement als den Standard 50% zu reservieren. Um dies zu erreichen, muss der Benutzer kann die Breite des Medienbereichs auf der Registerkarte Media der Eigenschaftsform der Inhaltselemente wählen. Dies ermöglicht bestimmte, nicht so sinnvolle Kombinationen. A Medienbereichsbreite von 25% kann mit drei Medienelementen in drei Spalten kombiniert werden. Das wäre natürlich völliger Unsinn, aber technisch immer noch möglich. Wir könnten die Möglichkeit der Medienauswahl einschränken flächenbreiten in Abhängigkeit von der Anzahl der ausgewählten Spalten, aber dies würde auch möglicherweise wünschenswerte Szenarien wie eine Medienflächenbreite von 75% kombiniert mit drei Bildern verbieten in drei Spalten.
Newsletter
Newsletter-Kopf
Der Header des Newsletters besteht aus bis zu vier Elementen und wird in den Einstellungen der Seite konfiguriert:
- Erste Zeile: Struktur: Dieses Feld kann mit individuellem Text gefüllt werden, vorzugsweise mit Informationen darüber, wer für den Newsletter verantwortlich ist. Es kann leer gelassen werden, wenn es nicht erforderlich oder gewünscht ist.
- Zweite Zeile: Art des Newsletters: Dieses Feld wird fett gedruckt. Sie kann auch einen beliebigen Text enthalten, ist aber so konzipiert, dass sie Informationen über die Art des gesendeten Mailings enthält. Es kann leer bleiben.
- Zweite Zeile: Titel des Newsletters: Dies ist der Titel der Feldseite, der umbenannt wurde. Da es sich um das Feld für den Seitentitel handelt, ist es obligatorisch. Dieses Feld wird auch als Betreff des Mailings verwendet.
- Logo: Das Logo kann wie in der Logo-Sektion weiter oben in diesem Dokument beschrieben gewählt werden.
Neuigkeiten und Veranstaltungen
Um eine Nachricht zu versenden, sei es eine Pressemitteilung oder eine Veranstaltung, muss der Benutzer ein Inhaltselement vom Typ Plugin einfügen auf der Seite hinzufügen, das Plugin News System auswählen und sich für die Detailansicht entscheiden. Unter Einen einzelnen News-Datensatz anzeigen muss nun der anzuzeigende Datensatz ausgewählt werden. Es darf nur ein Element ausgewählt werden. Keine der anderen Optionen auf der Registerkarte Einstellungen muss berücksichtigt werden. In der Zusätzlich muss die PageId für die Einzelnachrichtenanzeige für die Überschrift der aktuell angezeigten Nachricht sowie für Nachrichten, die sich auf die aktuell angezeigte Nachricht beziehen, eingestellt werden, um auf eine Seite mit einem gültiges News Detail Plugin. Es gibt keine speziellen Vorlagen zur Auswahl. Sowohl Standardnachrichten als auch Ereignisse werden automatisch mit einer für ihren Typ spezifischen Vorlage dargestellt. Auf der Registerkarte Detailansicht der Benutzer kann das Teaserfeld der Nachricht ausblenden.
Um einen korrekten E-Mail-Betreff zu erhalten, muss das Feld Zweite Zeile: Titel des Newsletters der entsprechenden Seite mit einem aussagekräftigen Titel gefüllt werden, d.h. dem Titel der Nachricht selbst. Dies wird auch im Kopf des Newsletters veröffentlicht werden. Da es sich um den Seitentitel handelt, ist er ohnehin obligatorisch. Da die Schriftart in der Kopfzeile recht groß ist, kann es notwendig sein, den Titel zu verkürzen. Man kann auch einfach nicht füllen Sie die Felder First line: structure und Second line: type of newsletter aus, so dass mehr Platz für die eigentliche Überschrift bleibt.
Auf Wunsch können der Seite natürlich weitere Inhaltselemente hinzugefügt werden.
Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.
Verteilung:LCMS_SITEPACKAGE ist auf
0.36 % aller TYPO3 installiert.
- 2.85 % aller TYPO3 8.7.x Installationen installiert
- 0.01 % aller TYPO3 4.5.x Installationen installiert
Aktualität:LCMS_SITEPACKAGE ist auf dem neusten Stand (v.unknown) bei
0.73 % aller TYPO3 Installationen
- 0 % aller TYPO3 9.5.x Installationen
- 0 % aller TYPO3 9.3.x Installationen
- 0 % aller TYPO3 9.2.x Installationen
- 0.02 % aller TYPO3 8.7.x Installationen
- 0 % aller TYPO3 7.6.x Installationen
- 0 % aller TYPO3 7.5.x Installationen
- 0 % aller TYPO3 7.4.x Installationen
- 0 % aller TYPO3 7.3.x Installationen
- 0 % aller TYPO3 7.2.x Installationen
- 0 % aller TYPO3 7.1.x Installationen
- 0 % aller TYPO3 7.0.x Installationen
- 0 % aller TYPO3 6.2.x Installationen
- 0 % aller TYPO3 6.1.x Installationen
- 0 % aller TYPO3 6.0.x Installationen
- 0 % aller TYPO3 5.0.x Installationen
- 0 % aller TYPO3 4.7.x Installationen
- 0 % aller TYPO3 4.6.x Installationen
- 0 % aller TYPO3 4.5.x Installationen
- 0 % aller TYPO3 4.4.x Installationen
- 0 % aller TYPO3 4.3.x Installationen
- 0 % aller TYPO3 4.2.x Installationen
- 0 % aller TYPO3 4.1.x Installationen
- 0 % aller TYPO3 4.0.x Installationen
- 0 % aller TYPO3 3.5.x Installationen
LCMS_SITEPACKAGE Version:Verteilung nach installierten Versionen
- 100 % LCMS_SITEPACKAGE v.1.0.0
PHP Version:LCMS_SITEPACKAGE wird benutzt mit
- 20 % PHP/7.0
- 80 % PHP/5.3
Gosign-Responsive Index: TYPO3 Installationen nutzen LCMS_SITEPACKAGE zu
- 99 % wenn der Gosign-Responsive-Index zwischen 80 % und 100 % ist
- 0 % wenn der Gosign-Responsive-Index zwischen 60 % und 80 % ist
- 0 % wenn der Gosign-Responsive-Index zwischen 40 % und 60 % ist
- 1 % wenn der Gosign-Responsive-Index zwischen 20 % und 40 % ist
- 0 % wenn der Gosign-Responsive-Index zwischen 0 % und 20 % ist
Pagespeed: TYPO3 Installationen nutzen LCMS_SITEPACKAGE zu
- 9 % wenn der Pagespeed zwischen 80 % und 100 % ist
- 24 % wenn der Pagespeed zwischen 60 % und 80 % ist
- 37 % wenn der Pagespeed zwischen 40 % und 60 % ist
- 23 % wenn der Pagespeed zwischen 20 % und 40 % ist
- 12 % wenn der Pagespeed zwischen 0 % und 20 % ist
[DependciesAndConflicts]