在TYPO3 7.6中,当我用基本语言交换图像时,我无法在现有的翻译记录中添加此图像。
例如:我添加了英文图片pic1.jpg(My code:
private void GetUpdates(DataSnapshot snapshot){
romchat.clear();
for (DataSnapshot ds: snapshot.getChildren()){
Rowitemroom row = new Rowitemroom();
row.setCaption(ds.getValue(Rowitemroom.class).getCaption());
row.setFileUrl(ds.getValue(Rowitemroom.class).getFileUrl());
romchat.add(row);
/* Rowitemroom row = snapshot.getValue(Rowitemroom.class);
String caption = row.getCaption();
String url = row.getFileUrl();*/
}
if (romchat.size()>0){
adapter = new CustomRoom(context,romchat);
recyclerView.setAdapter(adapter);
}else {
Toast.makeText(context, "No data", Toast.LENGTH_SHORT).show();
}
}
db_url ="your apps`enter code here`.appspot.com/admins"
),翻译为德语(L=0
)L=1
可用于激活。稍后我删除pic1.jpg
并添加pic1.jpg
,可能会剪切或以其他方式修改关系,因此我有我想要保留的数据。
我可以删除德语翻译记录,并在列表视图和page->语言中添加新翻译:"添加翻译"保留新图像及其所有修改,但这是一个解决方法,在此过程中丢失所有翻译的字段。
如果我的记忆没有让我失望,那么在以前版本的TYPO3(6.1)中以基本语言添加后,翻译媒体标签中会出现一个暗淡的FAL记录。
错误?或者我错过了什么?
答案 0 :(得分:1)
这是一个自2014年以来一直存在的TYPO3 v7.6核心漏洞,但从未修复过。请参阅错误报告:https://forge.typo3.org/issues/57272
有多种方法可以解决此问题。我也有这个问题,对我来说它只适用于第一个解决方案。
的 1。创建ViewHelper
这是来自Kai Tallafus的解决方案,他在错误报告57272的评论中分享了他的ViewHelper(参见上面错误报告的链接)。
ViewHelper:https://forge.typo3.org/attachments/download/32333/FalTranslationFixViewHelper.php
在流体模板中使用ViewHelper:
<util:falTranslationFix record="{record}" tableName="tx_myext_domain_model_foo" relationFieldName="files" as="files">
<f:if condition="{files -> f:count()} > 0">
<f:for each="{files}" as="file">
<a href="{file.publicUrl}">{file.properties.title}</a>
</f:for>
</f:if>
</util:falTranslationFix>
的 2。安装分机
我找到了两个可能会修复bug的扩展。我推荐第一个,但它对我不起作用,但也许它适合你。
第3。为FAL媒体启用sys_language_uid字段
FAL Media的转换有一种解决方法,您可以在其中启用sys_language_uid字段。启用后,最终用户可以选择媒体元素的语言。这对我来说也不起作用,但我从朋友那里知道,在他的一个项目中它起作用了。
手册(德文):www.npostnik.de/typo3/workaround-fuer-uebersetztungen-der-datensaetze-mit-fal-media /
的 4。更新至TYPO3 v8 LTS
当您正在处理可以更新到新版本的项目时,您应该考虑进行更新。 Bug已在TYPO3 v8 LTS中修复。
答案 1 :(得分:0)
viewhelper不适用于tablep-pair pages / page_labnguage_overlay中的字段媒体。 (TYPO3 8.7)
您必须在流体模板中分离翻译的部分。查询中的where子句应该检查'pid'而不是'uid'。您必须在$rawRecord
的媒体字段中检查相关条目。