如何从表sys_file_reference中获取自己的字段值?

时间:2016-02-10 12:29:29

标签: typo3 fluid extbase

在我的extbase扩展中,我有模型“Item”。 我得到像

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

在表“sys_file_reference”和TCA中,我添加了“预览”字段。它在后端工作。 在流体中,我可以从sys_file_reference获取图像uid,如{image.uid} 我如何从表sys_file_reference中获取流体中的“预览”?该字段在表格中设置。

1 个答案:

答案 0 :(得分: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;

告诉TypoScript中的extbase将您的类映射到sys_filke_reference表:

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

代码未经测试,但应指向正确的方向。