=

Daschmi's Notizblog

RSS Feed

TYPO3 9 (9.5) page slug für manuell erstellte Seiten ermitteln und setzen

Erstellt in Extension Entwicklung, TYPO3 am 6. November 2018

Mit folgender Funktion kann für Seiten der zugehörige Page slug mittels TYPO3 Funktionen ermittelt und gesetzt werden.

public static function setPageSlug($uid) {

$fieldConfig = $GLOBALS['TCA']['pages']['columns']['slug']['config'];
$slugHelper = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\DataHandling\SlugHelper::class, 'pages', 'slug', $fieldConfig);

$connection = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Database\ConnectionPool::class)->getConnectionForTable('pages');
$queryBuilder = $connection->createQueryBuilder();

$queryBuilder->getRestrictions()->removeAll()->add(\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Database\Query\Restriction\DeletedRestriction::class));
$statement = $queryBuilder->select('*')->from('pages')->where(
$queryBuilder->expr()->eq('uid', $uid)
)->execute();

$record = $statement->fetch();

$slug = $slugHelper->generate($record, $record['pid']);

// Update
$queryBuilder = $connection->createQueryBuilder();
$queryBuilder->update('pages')->where(
$queryBuilder->expr()->eq('uid', $uid)
)->set('slug', $slug)->execute();

return $slug;

}

TYPO3 9 .html Suffix an URLs

Erstellt in TYPO3 am 23. Oktober 2018

Damit „.html“ als Suffix/Endung vom TYPO3 an eine URL gehängt wird, kann man in der Site Konfiguration folgende Routenerweiterung nutzen:

routeEnhancers:
PageTypeSuffix:
type: PageType
default: '.html'
map:
'.html': 0

Die URL ist dann über

/kontakt.html und /kontakt aufrufbar. Um Double Content zu vermeiden, kann man in einer .htaccess folgende Umleitung verwenden (oder die canonical URL nutzen)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.html$
RewriteRule ^(.*)$ /$1.html [R,L]

ext_conf_template.txt in TYPO3 Version 9

Erstellt in TYPO3 am 22. Oktober 2018

Wer die Extensionkonfiguration aus der Datei ext_conf_template.txt im Root Verzeichnis der Erweiterung im Extension Manager sucht, wird ab Version 9 dort nicht mehr fündig. Die Einstellungen der Extension können jetzt im Install Tool unter Einstellung -> Extension Konfiguration eingesehen und bearbeitet werden.

TYPO3 Version 9 neue Condition für Seitensprache

Erstellt in TS Schnipsel, TYPO3 am 16. Oktober 2018

In TYPO3 V9 wird die Sprache nicht mehr über die _GET Variable „L“ umgeschaltet.

Alt:

[globalVar = GP:L = 1]
...
[global]

Neu:

[siteLanguage("title") == "Englisch"]
...
[global]

Den Titel kann man in der Site Konfiguration definieren.

Nicht mehr referenzierte Datensätze löschen

Erstellt in TYPO3 am 29. Januar 2017

In letzter Zeit musste ich viele Updates von TYPO3 durchführen und musste dabei immer TemplaVoila! Umsetzungen durch FLUID Templates und DCE/GRIDELEMENTS ersetzen. Mehrfach hatte ich das Problem, dass dem Kunden auf einmal alte Elemente wieder aufgefallen sind, die er eigentlich bereits „gelöscht“ hatte.

Ursache war das Verhalten von TemplaVoila!. TemplaVoila! löscht Elemente nicht und markiert diese auch nicht als gelöscht (deleted Flag), sondern entfernt lediglich die Zuordnung zu einer Spalte in der pages Tabelle.

Um die Elemente einfach nachträglich herauszufiltern habe ich eine kleine Erweiterung programmiert, die sich in die TYPO3 Funktionen integriert:

Die Erweiterung arbeitet ohne Verwendung von TemplaVoila! Funktionen und kann daher auch in TYPO3 7 ohne Templavaoila Installation verwendet werden.

Folgende Funktionen können mit den nicht mehr verwendeten TemplaVoila! Elementen ausgeführt werden:

  • Auf „hidden“ setzen
    Markiert nicht mehr zugeordnete Elemente über die „hidden“ Spalte so dass sie im Backend als ausgeblendet erscheinen.
  • Auf „deleted“ setzen
    Markiert nicht mehr zugeordnete Elemente über die „deleted“ Spalte.
  • Komplett löschen
    Löscht nicht mehr verwendete Elemente vollständig

ds_tv_cleaner - Entfernen von gelöschten TemplaVoila! Elementen

Stückpreis: 10,00 EUR

Löscht Inhaltselemente, die mit TemplaVoila! angelegt und gelöscht wurden.

  • Die Extension kann ab TYPO3 6.0 eingesetzt werden.
  • Mehrsprachigkeit wird grundlegend unterstützt
  • In der Tabelle pages muss die Spalte tx_templavoila_flex noch vorhanden sein.
  • Sollte nicht auf Seiten angewendet werden die nicht mit TemplaVoila! gepflegt wurden!


Bitte genehmigen Sie die Verwendung von Cookies dieser Website! Mehr Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen