小编Tob*_*ner的帖子

已删除记录的 Extbase 属性映射

我想为创建表单构建一个预览页面。我将记录的“已删除”属性设置为“1”,previewAction因为在 BE 中,列表模块用于批准插入的记录 - 因此,如果记录从未最终保存,则无论如何都将其删除。

问题:我可以创建记录 ( deleted=1) - 我可以跳回表单(没有历史记录,因为我必须保留创建的对象)。但是如果我再次提交属性映射告诉我

未找到身份为“3”的 MyModel 类型对象。

那当然是因为它被删除了。存储库中要忽略已删除的设置在此处不执行操作。

是的,我可以通过手动填充所有内容来绕过 Extbase 魔法,但这不是我想要的。

这是了解我正在尝试的操作的操作

 /**
 * action preview
 *
 * @param MyModel
 * @return void
 */
public function previewAction(MyModel $newModel)
{
    //check if model was already saved
    $uid = $this->request->hasArgument('uid') ? this->request->getArgument('uid') : 0;
    if($uid){
        $newModel = $this->myRepository->findDeletedByUid($uid);
        $this->myRepository->update($newModel);
    }
    else{
        $newModel->setDeleted(true);
        $this->myRepository->add($newModel);
    }

    $this->view->assign('ad', $newModel);
    $this->persistenceManager->persistAll();

    $uid = $this->persistenceManager->getIdentifierByObject($newModel);
    $this->view->assign('uid', $uid);
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

typo3 extbase typo3-7.6.x

2
推荐指数
1
解决办法
1564
查看次数

如何在Extbase中检索FAL对象的元数据

在我的扩展中,我阅读了文件夹和图像.但是在结果中总是缺少来自sys_file_metadata的元数据,我什么也没发现如何加载它.

数据库条目在那里,所以文件被索引,一切似乎都没问题.BE工作正常.

这里有一些代码:

控制器操作:

$storageId = 1;
$storageRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\StorageRepository');
$storage = $storageRepository->findByUid($storageId);
$singleFile = $storage->getFile('/user_upload/my_file.pdf');
$singleFile = true;
$this->view->assign('singleFile', $singleFile);
Run Code Online (Sandbox Code Playgroud)

如果我做af:调试它给我看这个:

Extbase Variable Dump

TYPO3\CMS\Core\Resource\Fileprototypeobject
   metaDataLoaded => FALSE
   metaDataProperties => array(empty)
   indexingInProgress => FALSE
   updatedProperties => array(empty)
   indexerService => NULL
   properties => array(15 items)
   storage => TYPO3\CMS\Core\Resource\ResourceStorageprototypeobject
   identifier => '/user_upload/my_file.pdf' (24 chars)
   name => 'my_file.pdf' (11 chars)
   deleted => FALSE
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,有一个字段metaDataProperties和metaDataLoaded,所以它没有被加载.

有人知道如何加载它吗?

typo3 extbase typo3-6.2.x fal

1
推荐指数
1
解决办法
3150
查看次数

如何在TYPO3 flexform中将cropVariant添加到图像字段

我可以像这样在TCA中覆盖图像字段的cropVaraints:

'columnsOverrides' => [
    'image' => [
        'label' => 'LLL:EXT:myext/Resources/Private/Language/locallang_be.xlf:general.field.image',
        'config' => [
            'overrideChildTca' => [
                'columns' => [
                    'crop' => [
                        'config' => [
                            'cropVariants' => [
                                'default' => [
                                    'title' => 'LLL:EXT:myext/Resources/Private/Language/locallang_be.xlf:wizard.banner.title',
                                    'allowedAspectRatios' => [
                                        '2:1' => [
                                            'title' => 'LLL:EXT:myext/Resources/Private/Language/locallang_be.xlf:field.banner.image-crop.ratio',
                                            'value' => 2 / 1
                                        ],
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
        ],
    ],
],
Run Code Online (Sandbox Code Playgroud)

我试图使这种方式灵活化-但没有成功。所以我需要的是这样的东西(但工作:-))

<foreign_selector_fieldTcaOverride type="array">
    <config>
        <appearance>
            <elementBrowserType>file</elementBrowserType>
            <elementBrowserAllowed>jpg,png</elementBrowserAllowed>
        </appearance>
        <overrideChildTca>
            <columns>
                <crop>
                    <config>
                        <cropVariants>
                            <default>
                                <title>Blubber</title>
                                <allowedAspectRatios>
                                    <test>
                                        <title>2:1</title>
                                        <value>2 / 1</value> …
Run Code Online (Sandbox Code Playgroud)

typo3 typo3-8.x

1
推荐指数
1
解决办法
886
查看次数

标签 统计

typo3 ×3

extbase ×2

fal ×1

typo3-6.2.x ×1

typo3-7.6.x ×1

typo3-8.x ×1