首页 > 解决方案 > TYPO3:向存储库添加一些默认约束

问题描述

我正在寻找一种将默认约束添加到 TYPO3 (extbase) 存储库的方法。我已经找到了以下解决方案,但这只是部分为我工作: https ://forum.typo3.org/index.php/t/205096/

使用上述解决方案,仍然可以在显示视图中获得一个条目,在控制器中如下所示:

public function showAction(\Vendor\Myext\Domain\Model\User $user)
{
    $this->view->assign('user', $user);
}

有没有办法在 TCA 的“启用列”中添加更多选项?还是有其他解决方案的想法?

标签: typo3extbase

解决方案


当您将实体传递给操作时,它根本不使用您的实体 Repo。

Extbase 使用所谓的 TypeConverters 来解析您传递给操作的任何数据。当您传递实体/对象(通过 __identity 属性)时,转换器会执行自己的查询。

如果你想改变这里的行为,你可以简单地提供你自己的 TypeConverter 并以比默认 PersistentObjectConverter 更高的优先级注册它。

我做了一个扩展来提供基于会话的实体。您可以在那里看到如何构建和注册自己的转换器。

https://bitbucket.org/t--3/extbase_session_entities/src


推荐阅读