Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/10/2014, 16:54
Avatar de GeekGirl
GeekGirl
 
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 5 meses
Puntos: 44
Respuesta: Sonata Project - Admin Bundle.

El Bundle Sonata puede ser complejo cuando iniciás pero una vez que le agarrás la mano, es realmente fácil y rápido de implementar.

Lo primero que necesitás es mapear la entidad de la tabla que quieras mostrar. Una vez mapeada la entidad, tenés que crear una clase admin para la misma. Supongamos que tu entidad se llama "Clientes". Podés crear un ClientesAdmin por ejemplo.

Luego, en ClientesAdmin vas a tener que crear las instancias que quieras que se muestren, listado, filtros, etc. Tenés que usar un add por cada campo de tu entidad (con el mismo nombre por supuesto).
Ejemplo

Código PHP:
    // Fields to be shown on lists
    
protected function configureListFields(ListMapper $listMapper)
    {
        
$listMapper
            
->addIdentifier('idCliente')
            ->
add('nombre')
            ->
add('mail')
        ;
    } 
Una vez añadidos todos los campos vas a tener que crear el servicio que llame a la clase. El admin.xml que viene en el ejemplo de sonata se crea a mano dentro de tu bundle. SImplemente creá un archivo admin.xml y dentro del mismo ingresá los datos que correspondan a tu entidad y clase:

Código HTML:
<!-- Acme/DemoBundle/Resources/config/admin.xml -->
<container xmlns="http://symfony.com/schema/dic/services"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/dic/services/services-1.0.xsd">
    <services>
       <service id="sonata.admin.clientes" class="Acme\DemoBundle\Admin\ClientesAdmin">
          <tag name="sonata.admin" manager_type="orm" group="Content" label="Listado de clientes"/>
          <argument />
          <argument>Acme\DemoBundle\Entity\Clientes</argument>
          <argument />
          <call method="setTranslationDomain">
              <argument>AcmeDemoBundle</argument>
          </call>
      </service>
   </services>
</container> 
Me imagino que las rutas las tendrás configuradas ya en el routing.yml ya que podés acceder al admin pero no se muestran los datos según lo que veo en tu link.

Haciendo todo esto, y con los parámetros de configuración de acceso seteados deberías ver la data.
Probalo y contame como te fue.

Saludos! :)