【问题标题】:TYPO3 Extbase extend existing extension to use the model of own extension?TYPO3 Extbase 扩展现有扩展以​​使用自己扩展的模型?
【发布时间】:2014-10-04 20:38:53
【问题描述】:

我正在尝试使用三个额外的日期(时间戳)字段扩展扩展名(新闻),并希望在我的(新闻)的流体模板中调用它们。

到目前为止,我已将所有内容连接起来,无需选择额外类型即可在后端看到我的额外字段 - 我已相应地修改了 ext_tables.php 并可以保存数据。

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

我想我需要适应 Model 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
                }
            }
        }
    }    
}

但这似乎行不通 - 任何在这里找到解决方案的人。

【问题讨论】:

    标签: typo3 fluid extbase


    【解决方案1】:

    首先,您不一定需要以“正常的 Extbase 方式”扩展 EXT:news。 EXT:news 提供了一种在不覆盖其模型的情况下使用其他字段进行扩展的方法。它记录在here

    这种方式的好处是多个扩展仍然可以扩展新闻而不冲突。

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

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

    这告诉 Extbase 使用你的模型类而不是 News 模型类。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-22
      • 2015-07-25
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      相关资源
      最近更新 更多