【问题标题】:Setting relation values in a nested TYPO3 Extbase Backendform在嵌套的 TYPO3 Extbase 后端表单中设置关系值
【发布时间】:2020-03-10 10:05:21
【问题描述】:

假设我在 extbase 中有这个数据库模型:

模型 A - 财产 - n:1 与模型 B 的关系

模型 B - 财产 - n:1 与模型 C 的关系

模型 C - 财产

我可以在模型 A 的后端形式中实现这样的事情吗?

模型 B 1 的实例 [] 好 [] 坏

模型 B 2 的实例 [] 好 [] 坏

等等。

简而言之,我想为模型 B 的所有实例以模型 A 的形式设置模型 C 的属性值。有没有办法在 TCA 配置中或使用嵌套的 flexform 来执行此操作?

【问题讨论】:

    标签: typo3 extbase flexform


    【解决方案1】:

    是的,这是可能的。尽管我认为您想在 Model C 中这样做(或者我误解了您或 1,n 混淆了)。我假设 C 1n B 1n A.

    查看inline 列类型https://docs.typo3.org/m/typo3/reference-tca/master/en-us/ColumnsConfig/Type/Inline.html,也称为“IRRE”(内联关系)。这允许内联创建和编辑子记录。也可以查看列类型 groupselect。它们也适用于 1..n:n 关系。

    这适用于 TCA 和 Flexform(适用于 Model C)。 IRRE 中的持久性 IIRC 必须对 DB 进行(而不是像 tt_content.pi_flexform 这样的 flexform 字符串),因此模型 B 和 A 应该是 TCA 定义的并且有表。

    【讨论】:

    • 谢谢乔纳斯。也许对我的模型的描述有点误导。目的是,当创建 B 的实例时,B 的每个实例最初都属于/分配给 A,并且在 A 中,我可以使用单选表单为 B 的每个实例设置属性“[] 好 [] 坏”。也许 A 和 B 和 B 和 C 之间的关系并不是真正需要的。每个 B 都应该“属于”所有 As,而 C 只应该存储无线电表单的选项。所以我需要一个解决方案来为每个 B 的收音机中的属性进行选择,就像在问卷中一样。
    • 所以想象 A 是问卷,B 是问题,C 是可能的答案。因此,我考虑将选择存储在 flexform 中,但我没有看到,如何以嵌套方式在 flexform 表中获取 B 和 C。希望现在更清楚了。
    • B 和 C 需要在数据库中并由 TCA 定义。那么 Flexform 中的 A 可以容纳 B 和 C。如果您觉得有帮助,请采纳答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多