=

Daschmi's Notizblog

RSS Feed

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!

Title in Link (a) und Image (img) Tag für Content Elemente

Erstellt in TS Schnipsel, TYPO3 am 4. August 2015

Möchte man im TYPO3 ein Bild verlinken und gibt einen ALT und TITLE Text an, so wird der TITLE Text auf den Link gesetzt und der Image Tag erhält den ALT Text. In meinen Augen ist dies korrekt, aber manche SEO Optimierer wünschen sich den TITLE Text auf dem Link Tag und dem Image Tag. Dies kann über folgende Variable in den Typoscript Konstanten gesteuert werden:

styles.content.imgtext.titleInLinkAndImg = 1

Media Dateien aus Seite mit Extbase auslesen

Erstellt in Extension Entwicklung, Sonstiges, TYPO3 am 15. Februar 2015

Um die Elemente die unter „Media“ bei den Seiteneigenschaften gespeichert sind auszulesen kann folgende Methode in einem Repository verwendet werden:

public function getMediaFromPid($pid)
{

  $query = $this->createQuery();
  $query->getQuerySettings()->setReturnRawQueryResult(true);
  $query->statement("
    SELECT
      *
    FROM
      `sys_file_reference` AS REF, `sys_file` AS FILE
    WHERE
      REF.`tablenames` = ‚pages‘ AND
      REF.`fieldname` = ‚media‘ AND
      REF.pid = ? AND
      FILE.`uid` = REF.`uid_local`", array($pid));

  return $query->execute();

}

oder besser:

$fileRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(‚TYPO3\\CMS\\Core\\Resource\\FileRepository‘);
$fileObjects = $fileRepository->findByRelation(‚pages‘, ‚media‘, $p[‚uid‘]);

AltText aus Dateinamen wenn Redakteur keinen Alternativen Text angegeben hat

Erstellt in TS Schnipsel, TYPO3 am 16. Mai 2014

Mit folgendem TypoScript Code kann ab TYPO3 6.2 der Text innerhalb des alt Attributs aus dem Dateinamen gebildet werden. Wenn der Redakteur einen alternativen Text angegeben hat, so wird weiterhin dieser verwendet.

tt_content.image.20.1.altText.data = file:current:alternative // file:current:name

das gleiche funktioniert auch mit dem title Tag.

tt_content.image.20.1.titleText.data = file:current:title // file:current:name

Body Tag um UID der aktuellen Seite erweitern

Erstellt in TS Schnipsel, TYPO3 am 5. Februar 2014

Damit man die UID der Seite im Body Tag als CSS Klasse hat, kann man folgenden Code verwenden:

page.bodyTag >
page.bodyTagCObject = TEXT
page.bodyTagCObject.dataWrap = <body class="uid-{field:uid}">


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

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close