0

我的问题是编辑器无法编辑或创建我为我构建的页面创建的某些 DataObjects。有些是可编辑的,有些则不是。如果我切换语言,它是一个多语言网站,那么输入字段甚至不会出现。

示例:我有一个用于显示链接列表的链接类

  • 德语 -> 编辑可以编辑和创建
  • 英语 -> 弹出窗口中没有字段

其他管理下载的类

  • 德语 -> 显示:是,编辑和创建:否
  • 英语 -> 弹出窗口中没有字段

有人可以提示我问题可能出在哪里吗?

EDIT2:在注释中附加代码的文件

编辑:这是我的翻译功能:

public function getCMSFieldTranslated(FieldSet $fieldset, array $transFields) {
    // If a translation exists, exchange them with
    // original/translation field pairs
    $translation = $this->getTranslation(Translatable::default_locale());
    if($translation && $this->Locale != Translatable::default_locale()) {
        $transformation = new Translatable_Transformation($translation);

        foreach($transFields as $fieldName => $field) {
            $fieldset->replaceField($fieldName, $transformation->transformFormField($field));
        }
    }
}
4

1 回答 1

0

您必须在弹出窗口中指定要翻译的字段。查看有关此的翻译文档。 http://doc.silverstripe.org/sapphire/en/topics/translation#translating-custom-properties

在示例中,它使用 getCMSFields 函数,但对 getPopupFields() 使用相同的策略。

如果那对您没有帮助,请发布您的模型和控制器。

祝你有美好的一天。

于 2011-03-24T13:25:20.167 回答