TYPO3:向存储库添加一些默认约束

TYPO3: Add some default constraints to repository

我正在寻找一种将默认约束添加到 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 的 "enablecolumns" 中添加更多选项?或者有其他的解决思路吗?

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

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

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

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

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