Как разделить список на несколько списков в сгенерированном бэкэнде администратора? - PullRequest
1 голос
/ 28 января 2012

Я довольно новичок в Symfony.Я использую Symfony 1.4 и уже настроил свой бэкэнд для своего проекта, сохранив несколько статей.

Тем не менее, в моем представлении редактирования статьи у меня есть список, имеющий отношение многие ко многим к фильтрам статьи.У меня есть перечисление в таблице фильтров, чтобы дать фильтрам 3 типа.(будет только 3, поэтому я не создал 3 таблицы фильтров)

Здесь моя схема доктрины, так что вы можете себе это представить.

    detect_relations: true
      Article:
        columns:
          article_no:          { type: string(50), notnull: true }
          producer:            { type: string(100) }
          name:                { type: string(255), notnull: true }
          description:         { type: string(2000) }
        attributes:
          export: all
          validate: true

    Filter:
      columns:
        name:  { type: string(255) }
        type:  { type: enum, values: ['Type1', 'Type2', 'Type3']}
      relations:
        Article:
          foreignAlias: Filters
          class: Article
          refClass: FilterArticle

    FilterArticle:
      columns:
        filter_id: { type: integer, primary: true }
        article_id: { type: integer, primary: true }
      relations:
        Filter: { foreignAlias: FilterArticle }
        Article: { foreignAlias: FilterArticle }

Итак, в моем редактируемом виде ябольшой список с фильтрами.Но я хочу разделить этот список на эти 3 различных типа и отобразить 3 списка.

Возможно ли это?Как я могу это понять?Я полагаю, мне нужно переписать ArticleForm или FilterForm ?!Или я могу сделать это только настраивая генератор?

Спасибо всем за помощь, могу только сказать, что я люблю symfony:)

привет

1 Ответ

0 голосов
/ 08 апреля 2013

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

Если вы перейдете к соответствующему каталогу кэша для вашей среды и перейдете к шаблонам, вы должны найти файл _list.php, этот фрагмент содержит таблицу html / php, и вы должны увидеть логику, которая перебирает результаты, например :

foreach ($pager->getResults()... 

скопируйте _list.php в каталог шаблонов вашего автоматически сгенерированного модуля. здесь вы можете отредактировать этот файл, чтобы переопределить способ отображения списка и добавить дополнительную логику, чтобы различать, как отображаются ваши 3 списка ...

...