Silverstripe Editors无法编辑自己的DataObjects

时间:2011-03-23 17:20:10

标签: php permissions content-management-system silverstripe data-objects

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

实施例: 我有一个类来显示链接列表的链接

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

管理下载的其他课程

  • 德语 - >显示:是的,编辑&创建:没有
  • Englisch - >弹出窗口中没有字段

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

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));
        }
    }
}

1 个答案:

答案 0 :(得分:0)

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

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

如果这对您没有帮助,请张贴您的模型和控制器。

祝你有个美好的一天。