Пользовательский рендер в сгенерированном админе с Symfony - PullRequest
2 голосов
/ 24 октября 2011

Итак, вот моя маленькая проблема: я создал администратора с помощью генератора администраторов Symfony, но мне нужно отобразить ссылку (или кнопку в этом отношении), которую можно щелкнуть, чтобы открыть файл CV.

На данный момент у меня есть:

generator:
  class: sfDoctrineGenerator
  param:
    model_class:           Client
    theme:                 admin
    non_verbose_templates: true
    with_show:             false
    singular:              ~
    plural:                ~
    route_prefix:          client
    with_doctrine_route:   true
    actions_base_class:    sfActions

    config:
      actions: ~
      fields:
         job_titles_list: { label: Emplois disponnibles }
         created_at:      { label: Cree le }
         updated_at:      { label: Mis a jour le }
      list:    
         display: [=name, firstname, experience, connexe, formation, created_at, cv_file]
         title: Gestion des prospects      
      filter: 
         display: [name, firstname, phone, cellphone, postalcode, experience, connexe, formation, job_titles_list, created_at, updated_at]
      form:    ~
      edit:  
         fields:
            formation: { label: Formation }
            experience: { label: Experience }
            connexe: { label: Connexe }
      new:     ~

Как вы можете видеть, в списке / отображении у меня есть cv_file, который дает мне ссылку (из БД).Мне нужно визуализировать этот столбец со ссылкой.

Кстати, я ничего не знаю о Symfony, так что будьте осторожны;)

Большое спасибо!

1 Ответ

3 голосов
/ 25 октября 2011

Вы можете использовать виртуальное поле в вашем списке, скажем _curriculum:

display: [=name, firstname, experience, connexe, formation, created_at, _curriculum]

Таким образом, Symfony будет читать часть с именем _curriculum.php по папке шаблонов вашего модуля.Наконец, вам нужно создать _curriculum.php в папке шаблонов и написать внутри этой части код для создания тега ссылки:

<?php echo link_to('Download CV', $Client->getCvFile()); ?>
...