2015-04-22 2 views
0

У меня на самом деле проблема с .Как позвонить моему второму объекту с собственностью?

У меня есть файл admin.yml:

sonata.admin.Produit: 
    class: Kayser\PlatformBundle\Admin\ProductionAdmin 
    tags: 
     - { name: sonata.admin, manager_type: orm, group: "Produits", label: "Les Pains & Viennoiseries" } 
    arguments: 
     - ~ 
     - Kayser\PlatformBundle\Entity\Product 
     - ~ 
    calls: 
     - [ setTranslationDomain, [KayserPlatformBundle]] 

sonata.admin.Produit: 
    class: Kayser\PlatformBundle\Admin\ProductionAdmin 
    tags: 
     - { name: sonata.admin, manager_type: orm, group: "Produits", label: "Les Pains & Viennoiseries" } 
    arguments: 
     - ~ 
     - Kayser\PlatformBundle\Entity\ProductImage 
     - ~ 
    calls: 
     - [ setTranslationDomain, [KayserPlatformBundle]]` 

и мой productionAdmin.php:

class ProductionAdmin extends Admin 
{ 
// Fields to be shown on create/edit forms 
protected function configureFormFields(FormMapper $formMapper) 
{ 
    $formMapper 
     ->add('description', 'text', array('label' => 'Description')) 
     ->add('name') 
     ->add('url', 'entity', array(
     'class' => 'KayserPlatformBundle:ProductImage', 
     'property' => 'name', 
     'multiple' => true)) 
    ; 
} 

// Fields to be shown on filter forms 
protected function configureDatagridFilters(DatagridMapper $datagridMapper) 
{ 
    $datagridMapper 
     ->add('name') 
     ->add('description') 
     ->add('url', 'entity', array(
     'class' => 'KayserPlatformBundle:ProductImage', 
     'property' => 'name', 
     'multiple' => true)) 
    ; 
} 

// Fields to be shown on lists 
protected function configureListFields(ListMapper $listMapper) 
{ 
    $listMapper 
     ->addIdentifier('name') 
     ->add('description') 
        ->add('url', 'entity', array(
     'class' => 'KayserPlatformBundle:ProductImage', 
     'property' => 'name', 
     'multiple' => true)) 
    ; 
} 
} 

и 2 лица Product.php и ProductImage.php (у них нет никаких проблем).

Как позвонить моему второму объекту с собственностью? :)

+1

Ваш вопрос непонятен, какой второй объект и где его называть? Что вы пытаетесь достичь – Matheno

+0

Я пытаюсь назвать «$ url» из ProductImage.php (мой второй объект). Я вызываю этот объект в файле admin.yml в конце этого файла. –

ответ

0

Чтобы получить собственность другого лица в файле администратора, я использую что-то вроде этого:

->add(
    'productImage', 
    'entity', 
    array(
     'label' => 'Url', 
     'class' => 'path/to/ProductImage', 
     'property' => 'url', 
    ) 
) 

Это то, что документы дают, например:

<?php 
namespace Acme\DemoBundle\Admin; 

use Sonata\AdminBundle\Admin\Admin; 
use Sonata\AdminBundle\Datagrid\ListMapper; 
use Sonata\AdminBundle\Datagrid\DatagridMapper; 
use Sonata\AdminBundle\Form\FormMapper; 

class PostAdmin extends Admin 
{ 
    // Fields to be shown on create/edit forms 
    protected function configureFormFields(FormMapper $formMapper) 
    { 
     $formMapper 
      ->add('title', 'text', array('label' => 'Post Title')) 
      ->add('author', 'entity', array('class' => 'Acme\DemoBundle\Entity\User')) 
      ->add('body') //if no type is specified, SonataAdminBundle tries to guess it 
     ; 
    } 

Больше информации в docs

Смежные вопросы