首页 文章

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

提问于
浏览
1

在我的extbase扩展中,我有模型“Item” . 我得到像这样的图像

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

在表"sys_file_reference"和TCA中我'm added filed 1263499 . It'在后端工作 . 在流体中,我可以从sys_file_reference获取图像uid,如 {image.uid} 如何从表sys_file_reference获取流体中的"preview"?该字段在表格中设置 .

1 回答

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

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

相关问题