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 に答える