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 Backend
  • locallang.xlf - für Labels im Frontend
  • locallang_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:

  1. 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.
  2. 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.
  3. 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.
  4. 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


Stichprobe n=37555 von Gosign gecrawlte TYPO3-Seiten mit den Top-Level-Domains <.de/.ch/.at>