当前位置: 首页 > 知识库问答 >
问题:

TYPO3 Extbase扩展现有扩展以使用自己扩展的模型?

欧阳山
2023-03-14

我正试图用三个额外的日期(时间戳)字段扩展扩展扩展名(新闻),并希望在(新闻)的fluidtemplate中调用这些字段。

我已经连线到目前为止,我可以看到我的后端额外的字段,而无需选择一个外部类型-我已经相应地修改了ext_tables.php,并可以保存数据。

现在,我试图在我的新闻流模板中使用这些字段,在我的Partials/List/Item中使用以下代码。html-{newsItem.datetime}

我想我需要适应打字稿,模型Tx_News_Domain_Model_News现在

config.tx_extbase{
    persistence{
        classes{
            Tx_News_Domain_Model_News {
                className = MyVendor\MyNews\Domain\Model\New
            }

            MyVendor\MyNews\Domain\Model\News {
                mapping {
                    tableName = tx_news_domain_model_news
                    recordType = Tx_MyNews_News
                }
            }
        }
    }    
}

但这似乎不起作用——任何人都能找到解决办法。

共有1个答案

姜胤
2023-03-14

首先,您不一定需要扩展EXT: news的“正常Extbase方式”。EXT: news提供了一种在不覆盖其模型的情况下通过附加字段进行扩展的方法。这里有记录。

这种方式的优点是多重扩展仍然可以扩展消息而不冲突。

如果您仍然想按“您的方式”进行操作,则需要按如下方式修复配置:

plugin.tx_news {
  objects {
     Tx_News_Domain_Domain_News {
        className = My\Extension\Domain\Model\News
     }
  }
}

这告诉Extbase使用模型类而不是新闻模型类。

config.tx_extbase.persistence.classes {
    Visol\Newscatinvite\Domain\Model\News {
        mapping {
            tableName = tx_news_domain_model_news
        }
    }
}

这告诉Extbase为您的模型使用新闻表。

永远不要忘记清除所有系统缓存(类反射存储在数据库中)。如果您在开发环境中,那么后端有一个“刷新系统缓存”。

 类似资料:
  • 为什么要扩展mongoose模型? 我们对业务进行分层处理 service(多模型操作) -> dao(单一模型操作) -> model(模型定义) 所以我们在dao层需要很多单一模型的数据库操作方法的封装,如果业务非常复杂,比如一个超级查询方法,然后又有各种具体业务定义方法,难道我们一个一个的都写在dao层么? 事实上dao只做暴露给service的方法,而具有一定业务约定的方法是可以放到mo

  • 扩展是专门设计的在 Yii 应用中随时可拿来使用的, 并可重发布的软件包。例如, yiisoft/yii2-debug 扩展在你的应用的每个页面底部添加一个方便用于调试的工具栏, 帮助你简单地抓取页面生成的情况。 你可以使用扩展来加速你的开发过程。 信息: 本文中我们使用的术语 "扩展" 特指 Yii 软件包。而用术语 "软件包" 和 "库" 指代非 Yii 专用的通常意义上的软件包。 使用扩展

  • vscode-react-native vscode-go

  • 扩展为现有的类、结构体、枚举类型、或协议添加了新功能。这也包括了为无访问权限的源代码扩展类型的能力(即所谓的逆向建模)。扩展和 Objective-C 中的分类类似。(与 Objective-C 的分类不同的是,Swift 的扩展没有名字。) Swift 中的扩展可以: 添加计算实例属性和计算类型属性; 定义实例方法和类型方法; 提供新初始化器; 定义下标; 定义和使用新内嵌类型; 使现有的类型遵

  • 概述 范例-hello-world 范例-word-count 范例-language-server 范例-调试器 调试-扩展 安装-扩展 范式-原则 测试-扩展 用我们的方法创造扩展

  • 本页包含内容: 扩展语法 计算型属性 构造器 方法 下标 嵌套类型 扩展就是向一个已有的类、结构体或枚举类型添加新功能(functionality)。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模)。扩展和 Objective-C 中的分类(categories)类似。(不过与Objective-C不同的是,Swift 的扩展没有名字。) Swift 中的扩展可以: 添加计算型属