获取其他语言的 TYPO3 Extbase Repository 项目

2023-12-15

如何从 extbase 存储库中获取不同语言的项目?

我测试了什么:

  • findByUid($childUid)
  • $query->getQuerySettings()->setRespectSysLanguage(FALSE);
  • $query->getQuerySettings()->setSysLanguageUid(3);

但结果始终是父(lang)对象。

我尝试使用“匹配”和“语句”,但结果查询使用活动语言或在 (0,-1) = (默认/全部) 中搜索 sys_language_id。


看来这是 extbase 中的一个错误,直到 TYPO3 7.1 才会删除:https://forge.typo3.org/issues/45873

对我来说这解决了问题:https://forge.typo3.org/issues/45873#note-27

进行此修改后,可以从存储库获取翻译后的对象(例如 byUid 或在自己的查询中)

(从链接页面复制,2015 年 4 月 7 日)


1.HACK extbase 在你的扩展中(在你的 ext_localconf.php 中)注册一个“CustomQueryResult”类:

// The code below is NO PUBLIC API!
/** @var $extbaseObjectContainer \TYPO3\CMS\Extbase\Object\Container\Container */
$extbaseObjectContainer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\Container\\Container');

$extbaseObjectContainer->registerImplementation('TYPO3\CMS\Extbase\Persistence\QueryResultInterface', 'YOURVENDOR\YOUREXT\Persistence\Storage\CustomQueryResult');
unset($extbaseObjectContainer);

2.实现一个简单的CustomQueryResult类:

class CustomQueryResult extends \TYPO3\CMS\Extbase\Persistence\Generic\QueryResult {

    /**
     * @var \YOURVENDOR\YOUREXT\Persistence\Storage\CustomDataMapper
     * @inject
     */
    protected $dataMapper;
}

3.实现CustomDataMapper类并覆盖方法“mapSingleRow”:

class CustomDataMapper extends \TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper {

    /**
     * Maps a single row on an object of the given class
     *
     * @param string $className The name of the target class
     * @param array $row A single array with field_name => value pairs
     * @return object An object of the given class
     */
    protected function mapSingleRow($className, array $row) {
        $uid = isset($row['_LOCALIZED_UID']) ? $row['_LOCALIZED_UID'] : $row['uid'];
        if ($this->identityMap->hasIdentifier($uid, $className)) {
            $object = $this->identityMap->getObjectByIdentifier($uid, $className);
        } else {
            $object = $this->createEmptyObject($className);
            $this->identityMap->registerObject($object, $uid);
            $this->thawProperties($object, $row);
            $object->_memorizeCleanState();
            $this->persistenceSession->registerReconstitutedEntity($object);
        }
        return $object;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取其他语言的 TYPO3 Extbase Repository 项目 的相关文章

  • 如何为 TYPO3 9 LTS 编写路由方面映射器

    我需要一个自定义方面映射器类来定义可选获取参数的值 该参数保存带有额外数据的 cf cache 标识符 但是这个参数产生了一个我不需要的 cHash 参数 并且不想在 URL 中看到 文档 https docs typo3 org typo
  • 如何向 TYPO3 v9 URL 添加尾部斜杠?

    从 TYPO3 8 7 更新到 TYPO3 9 5 时 您可能会放弃 realurl 扩展以支持新的路由功能 但您可能会注意到 realurl 默认情况下会在所有 url 后面附加一个 当您不使用 html 后缀时 默认情况下 TYPO3
  • TYPO3:禁用特定插件/扩展的缓存

    我构建了一个扩展和一个插件 前端用户可以在其中编辑他们的个人资料 但我注意到一个关键问题 在 编辑个人资料 下 用户可以看到有关甚至未登录的其他用户的完整信息 显然该表单已缓存在服务器上 因为添加后 config no cache 1 它没
  • TYPO3 中的 eID 是什么?

    我已经多次遇到这个词了 通常 资源会直接解释如何做某事 但没有提及这是什么或它的用途 另外 很多资源都是德语的 或者不是很清楚 So 什么是 eID 这是 TYPO3 特有的东西还是一般概念 你能用它做什么 这对于 TYPO3 gt 9 仍
  • TYPO3 v6 中的语言切换

    切换前端语言并不像预期的那样对我有用 到目前为止我所做的 在根页面 我创建了两种网站语言 德语和英语 在打字稿模板中 我添加了以下设置 我发现其中大部分分散在网络上 config tx realurl enable 1 simulateSt
  • TYPO3 无法启用 htmlArea RTE

    我尝试在 TYPO3 6 2 LTS 版本 中安装模块 htmlArea RTE 在 扩展管理器 中 他是活动的 但是在 页面 中 当我编辑或创建新的文本记录时 所见即所得不会出现 我使用的是 Firefox 但我尝试了其他浏览器 但他也没
  • 使用主键以外的其他内容作为 RealURL id_field

    在 TYPO3 6 2 站点中 我有以下内容postVarSets在 realurl conf php 中用于 extbase 扩展 postVarSets gt array DEFAULT gt array wba gt array ar
  • TYPO3:如何在后端添加css和JS

    我该如何添加css and javascript后端有文件吗 我想将这些文件用于自定义创建的内容元素以使它们对用户更具吸引力 System TYPO3 v9 Mode 作曲家模式 Target 自定义内容元素 在 TYPO3 v9 中 您必
  • realurl 生成没有 cHash 的条目

    我有一个 piBase 扩展 其中包含记录列表和详细信息页面 当首先调用列表时 一切都很好 realurl 版本2 0 15 TYPO3版本7 6 10 使用cHash参数创建详细信息页面的url 例如 cHash dc3409cee49f
  • TYPO3 扩展生成器多个图像上传不起作用

    我的目标是使用 TYPO3 7 6 2 版本中的扩展生成器创建扩展 我从扩展构建器文档创建了类别产品扩展 除了上传单个图像之外 它工作得很好 但我必须创建将多个图像添加到单个产品并在前端显示图像轮播的功能 但扩展生成器不适用于文件上传 我是
  • TYPO3:将插件从 USER 更改为 USER_INT 类型

    我有一个可用的 TYPO3 扩展 附有这个维基页面 http wiki orbeon com forms doc developer guide form runner typo3 extension 如何更改此扩展的代码 使其成为 USE
  • Typo3 版本 8 登录循环

    我有一个关于 Typo3 版本 8 LTS 的问题 我已经通过安装程序工具安装并配置了 TYPO3 但是 当我在安装后尝试登录时 登录过程会卡住 我得到的唯一信息是登录按钮显示 验证登录数据 旁边有一个旋转的加载符号 有人可以帮我解决这个问
  • 将 TYPO3 extbase storagePageIds / storagePid 设置为当前

    我正在使用 TYPO3 扩展 feupload 它依赖于 extbase 这是我第一次接触extbase 但问题是关于 extbase 的 我希望 TYPO3 在查询中默认包含通常的 IN 当前页面 pid 检查 除非另有说明 但在 ext
  • TYPO3 v8.7 JQuery 包含在内吗?

    我将 TYPO3 版本从 6 2 31 更新到 8 7 19 现在 JS JQuery 出现了一些问题 我听说 JQuery 自动包含在新的 TYPO3 版本中 是对的吗 提前致谢 你需要更具体地回答这个问题 是的 v8 提供了 jquer
  • 带有方面的 RouteEnhancer 会抛出 InvalidParameterException

    我逐字使用了来自变更日志 https docs typo3 org typo3cms extensions core Changelog 9 5 Feature 86365 RoutingEnhancersAndAspects html p
  • Typo3 CKEditor 图片来自 FAL

    我使用 CKEditor 设置了全新的 TYPO3 8 7 4 安装 并且rte ckeditor image从 FAL 获取图像 在文档中rte ckeditor image它说 最大尺寸与魔法图像的配置有关 必须在 Page TSCon
  • TYPO3 中的 Powermail 2.0

    我第一次在 TYPO3 4 7 中尝试 powermail 2 0 我在前端收到此错误消息 无法确定默认控制器 请检查 ext localconf php 中的 Tx Extbase Utility Extension configureP
  • 如何避免 TYPO3 中的日期时间问题?

    我创建了一个小扩展 它使用日期时间来查看一些特定事件 事件日期和事件时间 但如果我尝试从数据库获取正确的日期时间到前端 我总是会遇到麻烦 我可以通过 TYPO3 后端设置每个事件的日期时间 但是如果我尝试在前端获取这个值 例如
  • 扩展程序上传后,typo3 网站离线[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我刚刚向typo3 网站上传了一个新扩展 该网站就离线了 我收到 500 内部服务器错误 我可以做什么来倒回操作和 或使
  • Extbase查询比较同一个表中的两个字段

    是否可以在查询 API 中比较两个数据库字段 例如 我想比较字段 tstamp 和 crdate 如下所示 SELECT FROM tt content WHERE tstamp gt crdate 在查询 api 中我找不到解决方案 获取

随机推荐

  • SQLite 中嵌套内连接的问题

    下面的sql语句不会在SQLite中运行 select from A left join B inner join C on B fkC C pk on A optionalfkB B pk 我收到 sqlException 未知列 B p
  • 如何在Python中创建表?

    这就是我想在 Python 中复制的内容 这些是存储数据的变量的名称 name 1 Alex name 2 Zia age 1 13 age 2 12 game 1 1 game 2 2 favourite 1 chess favourit
  • 如何在 .Rmd 文件中添加要发布的功能或缩略图

    我目前正在尝试使用 blogdown 设置一个 Hugo 博客 但找不到从内部向帖子添加功能或缩略图的方法 Rmd文件 这会喜欢这样宁静峰主题 据我了解 只需添加一些如下语法即可在 md 文件中轻松完成 featuredImage img
  • Python Pyrebase 配置

    当我尝试运行我的代码时 import pyrebase firebaseConfig apiKey xxxxxx authDomain xxxxxx projectId xxxxxx storageBucket xxxxxxx servic
  • PREG_MATCH 检查所有单词和条件

    我编写了一个正则表达式 它在 OR 条件下搜索搜索词 这样就提供了字符串中的三个单词 无论它们的顺序如何 现在我只想放置一个 AND 条件 因为我想同时以不同的顺序在字符串中获取所有三个单词 这是我的preg match 正则表达式 myP
  • bash eval 未检测到 System.exit 返回代码

    挣扎了一个小时 java代码 ULogger info throwing out 666 System exit 666 bash 包装器 eval COMMAND TO RUN ret code printf error code d r
  • Python:无头模式支持旧版本的 Chrome

    我正在尝试使用 python 和 selenium 自动发送短信https voice google com about 当我运行下面的代码时 它会获取最新版本 谷歌浏览器实例并且工作正常 但是 当我以无头模式运行它时 它使用旧版本的谷歌浏
  • 使用python排序词频计数

    我必须使用 python 计算文本中的词频 我想到将单词保存在字典中并计算每个单词的数量 现在 如果我必须根据出现次数对单词进行排序 我可以使用相同的字典来完成此操作 而不是使用以键作为计数 以单词数组作为值的新字典吗 WARNING 此示
  • 在哪里可以更改“电子邮件已被占用”错误消息?

    我需要自定义消息错误 Email has already been taken对于电子邮件 我正在使用 Ruby 1 9 2 Rails 3 1 3 Devise 1 5 3 我尝试更改以下消息 config locales devise
  • 使用 NSDictionary 对象写入 plist 文件

    抱歉 我看到了类似的问题 但他们似乎没有给我一些完整的答案 我试着把它整理好 这样人们就不会讨厌我或我糟糕的英语 我正在使用带有故事板和 ARC 的 Xcode 4 2我可以从我的 plist 文件中读取 我的任务只是将更新后的值写回我的
  • Mathematica 输出格式

    Mathematica 如何决定何时对输出中的数字进行舍入 例如 给出输入 250000 5 给出输出 2500001 While 25000 5 确实打印为 25000 5 N 在这里也没有帮助 我需要使用 NumberForm 让它实际
  • 连接到 Oracle 中的拆分字符串列

    我的数据库中有一个列 其中包含 4 个字段作为 分隔字符串 我已经拆分了这些字段 因为我在报告中需要单独使用它们 我还需要单独使用这些字段作为针对另一个表的条件 我尝试过的事情 临时表 CREATE GLOBAL TEMPORARY TAB
  • 如何从 cordova-sqlite 同步获取数据?

    是否可以从cordova sqlite同步获取数据 我有一张桌子caseTable包含字段 ID 案例名称 日期 该表中的每一行对应于另一个以 caseName 字段命名的表 我需要循环遍历caseTable表并获取所引用表中的行数 fun
  • PHP 将“”添加到任何 xml 输出

    不确定发生了什么 但这是我的代码 template
  • Raycaster 中的高效地板/天花板渲染

    我在 Raycaster 引擎上工作了一段时间 我在较慢的机器上运行 我遇到的最具挑战性的问题是高效的地板和天花板铸造 我的问题是 我还可以使用什么其他更快的方法 我不确定末日地板和天花板是如何渲染的 到目前为止我尝试了两种典型的解决方案
  • 通过 JDBC 使用 Google Apps 脚本连接到 MSSQL Server 时出错

    我正在尝试使用 Google Apps 脚本连接到 Microsoft SQL Server 我正在使用 SQL Server 2008 R2 并且正在使用建议的脚本之一 该脚本应该读取数据并将其放入电子表格中 https develope
  • 在shell脚本中解析wmic的输出

    我正在尝试解析 WMIC 的输出 然后获取 PID 我的脚本如下 echo off setLocal enableExtensions enableDelayedExpansion FOR F tokens 1 delims A IN wm
  • 在 XAMPP for Windows 上从 CPAN 安装 perl 模块

    我对 Perl 很生疏 我认为在 Windows 中运行它没有帮助 我想安装this模块 我尝试了说明here安装 CPAN 模块 但尝试安装 App cpanminus 失败 第一步 我尝试运行cpan Config Simple它也不起
  • 链接共享dll库cmake clion项目

    我目前在 Clion 上有两个使用 cmake 的 C 项目 其中一个项目名为 sharedLibsDemo 我试图在该项目中创建一个共享库 在另一个项目中 我想使用由 共享 项目创建的库 目前 在 sharedLibsDemo 项目中 我
  • 获取其他语言的 TYPO3 Extbase Repository 项目

    如何从 extbase 存储库中获取不同语言的项目 我测试了什么 findByUid childUid query gt getQuerySettings gt setRespectSysLanguage FALSE query gt ge