2016-02-10 2 views
1

В моем расширении extbase у меня есть модель «Item». я получаю изображения какКак я могу получить собственное значение поля из таблицы sys_file_reference?

/** 
    * image 
    * 
    * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference> 
    * @cascade remove 
    */ 
    protected $image = NULL; 

В таблице «sys_file_reference» и в TCA я добавил подал «Предварительный просмотр». Это работа в бэкэнд. В жидкости я могу получить изображение uid из sys_file_reference как {image.uid} Как я могу получить «предварительный просмотр» в жидкости из таблицы sys_file_reference? Это поле указано в таблице.

ответ

1

Вы должны предоставить собственный класс FileReference, который имеет свою собственность предварительного просмотра и расширяет модель Extbase:

namespace Vendor\Extension\Domain\Model; 
use TYPO3\CMS\Extbase\Domain\Model\FileReference; 
class MyFileReference extends FileReference 
{ 
    /** 
    * @var string 
    */ 
    protected $preview; 

    // Getter and Setter 
} 

Затем использовать этот класс в вашем $image собственности:

/** 
* image 
* 
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Vendor\Extension\Domain\Model\MyFileReference> 
* @cascade remove 
*/ 
protected $image = NULL; 

Телль Extbase в TypoScript для сопоставления вашего класса с таблицей sys_filke_reference:

config.tx_extbase.persistence.classes { 
    Vendor\Extension\Domain\Model\MyFileReference { 
     mapping { 
      tableName = sys_file_reference 
     } 
    } 
} 

Код не проверен, но должен указывать в правильном направлении.

+0

Спасибо, это работа –