Редакторы Silverstripe не могут редактировать собственные объекты DataObject
Моя проблема в том, что редакторы не могут редактировать или создавать определенные объекты данных, которые я создал для созданной мной страницы. Некоторые из них доступны для редактирования, а некоторые нет. И если я переключаю язык, это многоязычный сайт, тогда поля ввода даже не отображаются.
Примеры: у меня есть класс для ссылок для отображения списка ссылок
- Немецкий -> Редакторы могут редактировать и создавать
- Английский -> Нет полей во всплывающем окне
Другой класс, который управляет загрузками
- Немецкий -> Показать: да, редактировать и создавать: нет
- Английский -> Нет полей во всплывающем окне
Кто-нибудь может намекнуть мне, где может быть проблема?
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 ответ
Вы должны указать поля во всплывающем окне для перевода. Посмотрите переводную документацию по этому вопросу. http://doc.silverstripe.org/sapphire/en/topics/translation
В этом примере он использует функцию getCMSFields, но использует ту же стратегию для getPopupFields().
Если это не поможет, опубликуйте свою модель и контроллер.
Хорошего дня.