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.
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an