Hauptmenü

Werkzeuge

Kategorien

Archiv

Media Dateien aus Seite mit Extbase auslesen

Erstellt in Extension Entwicklung, TYPO3 am 15. Februar 2015 vom Daschmi

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 vom Daschmi

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 vom Daschmi

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}">

Inhalt einer Seite in Extension laden und ausgeben

Erstellt in TYPO3 am 3. Februar 2014 vom Daschmi

Um in einer TYPO3 piBase Extension den Inhalt einer Seite in einer Extension einzulesen und auszugeben, kann folgender Code verwendet werden:


/* UIDs der Content Elemente */
$uids = array(12, 13, 14);

$response = $this->cObj->RECORDS(array(‚tables‘ => ‚tt_content‘, ’source‘ => $uids, ‚dontCheckPid‘ => 1));

Keine Lightobx bei ContentType „Image“ / Inhaltselement „Bilder“

Erstellt in TS Schnipsel, TYPO3 am 21. Januar 2014 vom Daschmi

Bei TYPO3 (Version 6.1.1) und der Extension Perfectlightbox (Version 3.1.4) tritt ein Problem auf wenn man Sie bei dem Inhaltselement „Bilder“ verwenden will. Abhilfe schafft folgender TS Schnipsel:

#
# Notlösung perfectlightbox EXT für Typo3 ab V6.x
#
  tt_content.image.20.1.imageLinkWrap {
  JSwindow = 0
  directImageLink = 1
  typolink.ATagParams {
    dataWrap = rel="lightbox[lb{field:uid}]"
    if.negate = 1
    if.isTrue = TEXT
  }
  typolink.ATagParams.if.isTrue.field = image_link
  typolink.ATagParams.if.isTrue.listNum < .typolink.parameter.listNum
}