in Профессиональное

Doctrine forms – редактирование i18n контента

Данная заметка не открывает ничего нового, тем не менее, подобные вопросы постоянно возникают, в том числе и у меня.

Суть проблемы: есть i18n таблица (вернее пара таблиц, например content и content_translation). Хочется быстро и просто сделать в админке редактирование данных для нескольких языков.

Оказывается, Doctrine form “из коробки” это умеет. Необходимо лишь выполнить несложное конфигурирование:

<?php
class ContentForm extends BaseContentForm
{
  public function configure()
  {
    // ...
    $this->embedI18n(array('en', 'ru'));
    $this->widgetSchema->setLabel('en', 'Английская версия');
    $this->widgetSchema->setLabel('ru', 'Русская версия');
    // ...
  }
}
?>

Этот прием описан в Jobeet, день 19: http://www.symfony-project.org/jobeet/1_4/Doctrine/en/19#chapter_19_sub_admin_generator, но, похоже, мало кто дочитывает до этого места.

Write a Comment

Comment

*

11 Comments

  1. попал сюда надеясь увидеть решение грабли почему такие формы вдруг перестали работать…

    • а именно при редактировании редактировании записи с двумя переводами почемуто всё валится с ошибкой что MySQL не может найти у себя поле… которое пропискно как I18n: fields[‘title’]…
      почемуто толи доктрина, толи генерённая админка вдруг забывает что это поле переводное… и тащит его из основной таблицы…
      ререлиз sf 1.4.6 (откат на 1.4.5 не исправил ситуацию)

      • Что-то у вас определено не так. У меня заработало “из коробки”. Я не думаю что проблема в symfony. Во всяком случае это не первая по распространенности причина ошибок. Хотя почему-то все в первую очередь грешат именно на фреймворк )

    • Ммм. Эта тема не называется “решение проблем” как вы наверное заметили ) И ваши ожидания с реальным положением дел не имеют ничего общего.

      • да, оказался частный случай… но просто было забавно.
        а почему на фремворк… пустой проект, 1 файл модели… генерим всё, генерим админку… и опа… =)

        спасиб за быстрые ответы =)

    • Мне она не мешает ) Т.е. хватило изменить порядок шаблонов?

      • да… как всегда ответ оказвается банальным… =)
        но как не приятно когда “вот тут оно работает”, “а вот точно такое, НЕТ!” =)

  2. hudson, может ты знаешь рецепт как в админгенераторе редактировать не все переводы, а выборочно по одному?… иначе когда 13 языков оно… э… не удобно… =)