在后端隐藏 tx_extbase_type

Hide tx_extbase_type in backend

我在 Typo3 6.2 中创建了一个基于 extbase 的插件,它使用来自其他插件的现有(非 extbase)table。

虽然我还没有完全理解这一点,但似乎在现有的 table 中添加了一个列 tx_extbase_type 以执行对象关系映射。

现在,后端显示一个包含 class 名称的单元素下拉框,因为这不能也不应该被编辑更改,我想隐藏它。我该怎么做?

我已经尝试注释掉在 ext_tables.php 中创建的 showitem 内容,但这没有效果。

该字段一般在extbase中做继承时用到

您可以通过添加

来隐藏它
TCEFORM.<tablename>.tx_extbase_type.disabled = 1

到您的 Page-TS,

您可以通过将其在 TCA 中的类型设置为 passthrough 来隐藏它。不确定这是否有一些副作用,但在我的临时测试中它工作正常。

您可以通过从以下位置删除它来完全删除它:

  • 文件ext_tables.sql(运行之后安装工具中的数据库比较)
  • TCA 定义。您需要在这些地方(不确定 extension_builder 使用了哪一个,也不确定您是否使用了 extension_builder):

    • 您的 table
    • ctrl 部分的 type-键
    • 文件ext_tables.php
    • Configuration/TCA/
    • 中的文件
    • Configuration/TCA/Overrides/*中的文件(不可能)
    • 在 TCA table 配置的 ctrl 部分中用 dynamicConfigFile 引用的任何文件。这样的引用很可能位于 ext_tables.php.
  • TypoScript 配置。它位于 extbase 继承配置中,通常可以找到

    • 在扩展的静态 TypoScript 模板中(在现代 Configuration/TypoScript 下可以找到
    • 在文件中 ext_conf_template.txt
    • 在文件中 ext_typoscript_setub.txt
  • 也许还有一些地方。