Редакторы Silverstripe не могут редактировать собственные объекты DataObject - PullRequest
0 голосов
/ 23 марта 2011

Моя проблема в том, что редакторы не могут редактировать или создавать определенные объекты данных, которые я создал для созданной мной страницы. Некоторые из них доступны для редактирования, а некоторые нет. И если я переключаю язык, это многоязычный сайт, тогда поля ввода даже не отображаются.

Примеры: У меня есть класс для ссылок для отображения списка ссылок

  • Немецкий -> Редакторы могут редактировать и создавать
  • Englisch -> Нет полей во всплывающем окне

Другой класс, который управляет загрузками

  • Немецкий -> Показать: да, редактировать и создавать: нет
  • Englisch -> Нет полей во всплывающем окне

Может кто-нибудь подсказать мне, где может быть проблема?

EDIT2: файл с кодом, прикрепленным в комментариях

Edit: Вот моя функция перевода:

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 голосов
/ 24 марта 2011

Вы должны указать поля во всплывающем окне для перевода.Посмотрите переводную документацию по этому вопросу.http://doc.silverstripe.org/sapphire/en/topics/translation#translating-custom-properties

В этом примере используется функция getCMSFields, но используется та же стратегия для getPopupFields ().

Если это не поможет, опубликуйте модель и контроллер.

Хорошего дня.

...