簡體   English   中英

如何從表 sys_file_reference 中獲取我自己的字段值?

[英]How I can get my own field value from table sys_file_reference?

在我的 extbase 擴展中,我有 model “項目”。 我得到像

  /**
     * 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 中獲取流體中的“預覽”? 該字段設置在表中。

您需要提供自己的FileReference類,該類具有您的Preview屬性並擴展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
        }
    }
}

代碼未經測試,但應為您指明正確的方向。

$fileRepository = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Resource\FileRepository::class);
$fileObjects = $fileRepository->findByRelation('tx_faktesemilivevideo_domain_model_subcategory', 'icon_image', $uid);

            if (!empty($fileObjects)) {
                foreach ($fileObjects as $key => $value) {
                    $imagePath = $baseUrl . 'fileadmin' . $value->getOriginalFile()->getIdentifier();
                }
            } else {
                //default image path.
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM