[TYPO3-german] FAL in Extension + Workspace
Sascha
lsascha at gmail.com
Fri Jul 25 17:05:46 CEST 2014
Hallo,
ich nutze FAL in einer eigenen Extension und versuche aktuell die angehängten Dateien auch anzuzeigen wenn der Eintrag in einer Arbeitsumgebung liegt.
Ich habe für die Dateianzeige den ViewHelper von FluidPoweredTypo3 angepasst damit die eingetragenen Titel + Beschreibung korrekt überschrieben werden kann. Aber auch mit dem Originalen ViewHelper klappte es nicht.
<?php
class Tx_Artikel_ViewHelpers_Resource_Record_FalViewHelper extends Tx_Vhs_ViewHelpers_Resource_Record_AbstractRecordResourceViewHelper {
/**
* @var \TYPO3\CMS\Core\Resource\ResourceFactory
*/
protected $resourceFactory;
/**
* Constructor
*/
public function __construct() {
$this->resourceFactory = t3lib_div::makeInstance('TYPO3\\CMS\\Core\\Resource\\ResourceFactory');
}
/**
* @param mixed $identity
* @return mixed
*/
public function getResource($identity) {
$fileReference = $this->resourceFactory->getFileReferenceObject(intval($identity));
return $fileReference->toArray();
}
/**
* @param array $record
* @return array
*/
public function getResources($record) {
$sqlTable = $GLOBALS['TYPO3_DB']->fullQuoteStr($this->getTable(), 'sys_file_reference');
$sqlField = $GLOBALS['TYPO3_DB']->fullQuoteStr($this->getField(), 'sys_file_reference');
$sqlRecordUid = $GLOBALS['TYPO3_DB']->fullQuoteStr($record[$this->idField], 'sys_file_reference');
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('ref.uid, filemeta.title, filemeta.description', 'sys_file_reference ref, sys_file_metadata filemeta', 'ref.uid_local = filemeta.file AND ref.deleted = 0 AND ref.hidden = 0 AND ref.tablenames = ' . $sqlTable . ' AND ref.fieldname = ' . $sqlField . ' AND ref.uid_foreign = ' . $sqlRecordUid, 'ref.uid', 'ref.sorting_foreign');
$resources = array();
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$resData = $this->getResource($row['uid']);
if ( $resData['title'] === NULL ) {
$resData['title'] = $row['title'];
}
if ( $resData['description'] === NULL ) {
$resData['description'] = $row['description'];
}
$resources[] = $resData;
}
return $resources;
}
}
Gibt es hierfür vielleicht schon eine Lösung?
Danke im voraus.
More information about the TYPO3-german
mailing list