TYPO3 Plugin:

dm_basicsite

Die Medialen Basic Sitepackage

TODOs

  • Show in Section Menu (sectionIndex): Implementierung. Ist glaube ich eine tt_content Eigenschaft
  • TODO Caching von ws_scss für development unterbinden?
  • Linktext von internen Links ändern
  • Body von Inhaltselementen wrappen
  • ID in Inhaltselementen
  • Bugfix MediaGallery Case Sensitiv
  • Setzen der Konstanten im Konstanteneditor testen
  • Bugfix Element Text
  • jquery abhängigkeit im Hamburger-Menü entfernen
  • Replace Content: Show Content from Page (Seiteneigenschaften): Entweder ausblenden, oder dann canonical auf die andere setzen (am Besten beides, damit, wenn wir es mal einblenden, es funktioniert)
  • Was ist mit Enable Login für Seiten? Ich bin dafür es auszublenden und wenn dann im dm_feusers einzublenden, falls wir es brauchen
  • Wie gehen wir mit PackageStates.php und composer.lock/composer.json im DEV-Branch um?
  • Impressum in Standardweb eintragen (mit uns)
  • Redakteursgruppe (vielleicht folgende Rechte entziehen:) Page: Cache Lifetime Page: Cache Tags Page: Cache Disable Page: Link Target Page: Link Use Protocol Page: Use as Root Page Page: Editable for Admins only Page: Stop Page Tree Page: Resources/TypoScript Configuration Page: PageTS Config

Installation

Am besten per composer:

Falls noch kein TYPO3 installiert ist:

composer create-project typo3/cms-base-distribution ./

Dann in die composer.json:

"repositories": [
    { "type": "composer", "url": "http://composer.typo3.org/" },
    { "type": "composer", "url": "https://composer.diemedialen.de/" }
],

"require": {
    "typo3/cms": "~7.6.0"
},

und dann ein

composer require "diemedialen/dm_basicsite"
composer update
  • die Extension dm_basicsite aktivieren
  • Bei Bedarf die errorPageNotFound und errorPageNotAccessible in der Configuration/Extensions/RealUrl.php anpassen.

Inhaltselemente

Einige Inhaltselemente sind standardmäßig deaktiviert um das Backend etwas zu entschlacken. Diese kann man in der Datei Configuration/TSConfig/Page.ts wieder aktivieren.

Eigenschaften von Inhaltselementen

Viele Eigenschaften sind entschlackt/deaktiviert. Diese Einstellungen finden sich in Configuration/TSConfig/Page.ts.

Unter anderem:

  • Datum
  • Position der Überschrift
  • Beschreibung
  • Layout
  • Section Frame
  • Kategorien
  • Show in Section Menus (sectionIndex)
  • linkToTop
  • Subheader

Um Eigenschaften wieder zu nutzen kann man folgendes PageTS - natürlich auf Dateiebene - verwenden (am Beispiel von Section Frames):

TCEFORM.tt_content.section_frame.types.text {
    disabled = 0
    addItems.1337 = Neuer Rahmen
}

Von Text mit Media

Entfernt wurden:

  • Breite von jedem Element
  • Höhe von jedem Element
  • Rand um jedes Element
  • Anzahl von Gallerie Spalten (imagecols)

Außerdem wurde "Position und Anordnung" der Gallerie entschlackt auf drüber und drunter. Möchte man die andere benutzen muss man diese wieder aktivieren. Das Feld heißt "imageorient". Die Labels findet man in Resources/Private/Language/backend_locallang.xlf (konfiguriert in ext_tables.php)

Von Tabellen

  • Backgroundcolor
  • Border Size
  • Cellpadding
  • Cellspacing

TODO: Show in Section Menus (sectionIndex)

Seitenlayouts

Seitenlayouts steuern wir über die Backend Layouts. Die Eigenschaft für die Frontend Layouts haben wir ausgeblendet, weil es nur für Verwirrung sorgt. Die Backendlayouts legen wir nicht über die Datenbank-Records im BE an, sondern über Dateien, damit diese versioniert werden und in allen Umgebungen gleich sind. Das Anzeigen von der zweiten Navigation oder eines Keyvisuals lösen wir nicht hierüber um das Aufblasen durch die Kombination der verschiedenen Layouts einzudämmen.

Booleans für Subnavigation oder Keyvisual

Wenn ihr ein Seitenattribut für die Subnav braucht müsst ihr dieses nur aktivieren, es ist schon im Basispaket eingerichtet.

in einer Datei Configuration/TCA/Overrides/pages.php

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette(
    'pages',
    'layout',
    '--linebreak--, show_subnav',
    'after: backend_layout_next_level'
);

Braucht ihr ein Seitenattribut für Keyvisuals schaut in das Basispaket dm_keyvisuals.

Wollt ihr eigene Seitenattribute anlegen schaut euch als Beispiel den Commit von dem Attribut show_subnav an (https://gitlab.diemedialen.de/basispakete/dm_basicsite/commit/6fc6609e1183d4a8f00b9112746da445875209e8).

Eigene Seitenlayouts anlegen

Um eigene Layouts anzulegen muss man seine Extension registrieren und diese an der richtigen Stelle anlegen.

ext_localconf.php

// register the backend layouts of this extension.
// searching in EXT:<extkey>/Resources/Private/BackendLayouts/
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['BackendLayoutFileProvider']['ext'][] = $_EXTKEY;

Danach einfach eine Backend-Layout json anlegen EXT:/Resources/Private/BackendLayouts/TwoColTeaserRight.ts

backend_layout {
    colCount = 2
    rowCount = 1
    rows {
        1 {
            columns {
                1 {
                    name = Hauptinhalt
                    colPos = 0
                }
                2 {
                    name = Teaser
                    colPos = 1
                }
            }
        }
    }
}

mit einer EXT:/Resources/Private/BackendLayouts/locallang.xml kann man noch die Labels steuern.

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3locallang>
    <meta type="array">
        <type>database</type>
        <description>Language labels for backend layouts</description>
    </meta>
    <data type="array">
        <languageKey index="default" type="array">
            <label index="TwoColTeaserRight">Two columns with teaser right</label>
        </languageKey>
        <languageKey index="de" type="array">
            <label index="TwoColTeaserRight">2-spaltig mit Teasern rechts</label>
        </languageKey>
    </data>
</T3locallang>

CSS

Euer CSS könnt ihr ganz einfach wie folgt einfügen:

page.includeCSS {
    screen = EXT:dm_basicsite/Resources/Public/Css/Screen.css
}

Ihr könnt auch SASS-Dateien so einbinden, diese werden automatisch kompiliert:

page.includeCSS {
    screen = EXT:dm_basicsite/Resources/Public/Css/Screen.scss
}

Wenn ihr allerdings bei der Entwicklung mit Gulp kompilieren wollt, gibt es im Basicsitepackage ein Gulpfile. Dann könnt ihr das auch im Developmentkontext überschreiben:

[applicationContext = Development*]
page.includeCSS {
    screen = EXT:dm_basicsite/Resources/Public/Css/Screen.css
}
[end]

So wird im Production-Context automatisch kompiliert (und ihr müsst bei Updates nicht auf dem Server erneut kompilieren), in Development kompiliert ihr selbst.

Navigationen

Hamburger Menü

Es gibt eine rudimentäre Hamburger-Navigation, die ihr mit Hilfe von Sass nutzen könnt. Ihr könnt es wie folgt einbinden, in den entsprechenden Dateien findet ihr auch den Beispielcode.

page {
    includeJSFooterlibs.hamburgerMenu = EXT:dm_basicsite/Resources/Public/JS/HamburgerMenu.js
    includeJSFooter.hamburgerMenu = EXT:dm_basicsite/Resources/Public/JS/HamburgerExample.js
    includeCSS.hamburgerMenu = EXT:dm_basicsite/Resources/Private/Css/HamburgerExample.scss
}

Drop Down Menü

Es gibt ein rudimentäres Drop-Down, das Ihr mit Hilfe von Sass nutzen könnt. Den Beispielcode findet ihr in der Datei EXT:dm_basicsite/Resources/Private/Css/DropDownExample.scss

TYPO3 Context

Scriptmerger

Wir setzen abhängig vom TYPO3-Context einige Einstellung beispielsweise, ob der Scriptmerger aktiv ist. Außerdem kann man es nutzen um zwischen automatischem Kompilieren von SASS und Gulp hin und her zu wechseln. Es bietet sich also an im Development-Context zu entwickeln und im Production-Context zu testen. Da die meisten Webs liegen bei Mittwald und sind unter 2 URLs erreichbar. Abhängig von diesen setzen wir den Context automatisch (wenn die .htaccess aus dem Basicsite-Package verwendet wird)

pXXXXXX.mittwaldserver.info -> Production pXXXXXX.webspaceconfig.de -> Development

Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.

Verteilung:DM_BASICSITE ist auf

0.01 % aller TYPO3 installiert.

  • 0.05 % aller TYPO3 7.6.x Installationen installiert

Aktualität:DM_BASICSITE ist auf dem neusten Stand (v.unknown) bei

100 % 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 % aller TYPO3 8.7.x Installationen
  • 0.05 % 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

PHP Version:DM_BASICSITE wird benutzt mit

  • 100 % PHP/7.0

Gosign-Responsive Index: TYPO3 Installationen nutzen DM_BASICSITE zu

  • 0 % wenn der Gosign-Responsive-Index zwischen 80 % und 100 % ist
  • 67 % wenn der Gosign-Responsive-Index zwischen 60 % und 80 % ist
  • 33 % wenn der Gosign-Responsive-Index zwischen 40 % und 60 % ist
  • 0 % 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 DM_BASICSITE zu

  • 33 % wenn der Pagespeed zwischen 80 % und 100 % ist
  • 0 % wenn der Pagespeed zwischen 60 % und 80 % ist
  • 33 % wenn der Pagespeed zwischen 40 % und 60 % ist
  • 0 % wenn der Pagespeed zwischen 20 % und 40 % ist
  • 33 % wenn der Pagespeed zwischen 0 % und 20 % ist


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