【问题标题】:TYPO3 How to extend existing extensions table definitionTYPO3 如何扩展现有的扩展表定义
【发布时间】:2014-08-13 13:29:15
【问题描述】:

我应该扩展一个不再与我们合作的同事写的 TYPO3 扩展。

假设我们有一系列动物,比如狗、猫、鸟、蛇等等。现在我需要添加一个新的关系来指定动物家族,如哺乳动物、鸟类、爬行动物。

我认为我必须执行以下操作:

  • 在 Classes/Domain/Model/Family.php 中添加一个新的类 Family
  • 将新关系添加到 Classes/Domain/Model/Animal.php
  • 将新字段添加到 ext_typoscript_setup.txt
  • 在 ext_tables.php 中添加多行

很遗憾,该表没有在数据库中创建,也没有出现在后端。谁能提示我我错过了什么? (如果你认为我做错了什么,我愿意分享我的代码,现在我感觉只是少了一个步骤——比如初始化新数据等。)

提前致谢。

【问题讨论】:

    标签: typo3 typo3-6.2.x


    【解决方案1】:

    似乎合法。

    创建/扩展所有这些文件后,您应该进入安装工具模块。 登录并进入“重要操作”-区域并运行“将当前数据库与规范进行比较”。

    您可能应该会看到所有新表和字段。 选择所有查询并使用“执行”按钮启动它们。

    如果这能解决您的问题,请告诉我。

    【讨论】:

    • 感谢您的提示 - 我错过了这一步。该工具将数据库与 ext_tables.sql 文件进行比较,因此我在其中添加了 CREATE TABLE。对于系统中存在的另一个表,我尝试先在 ext_tables 中使用 ALTER TABLE,但这不起作用。我必须构建一个包含我需要的额外字段的 CREATE TABLE 语句。不幸的是,插件仍然不关心该领域,但我会进一步深入研究。
    【解决方案2】:

    我错过了重要的一步:

    为了使这些字段显示在后台,需要将它们添加到 TCA 数组,更具体地添加到接口子数组,如下所示:

    $GLOBALS['TCA']['tx_mytable']['interface']['showRecordFieldList'] .= ",newfield";
    $GLOBALS['TCA']['tx_mytable']['feInterface']['fe_admin_fieldList'] .= ", newfield";
    

    毕竟希望这对某人有用......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-04
      • 1970-01-01
      • 2014-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 1970-01-01
      相关资源
      最近更新 更多