2015-04-22 104 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.phpProductImage.php(他们有没有问题)。

那么如何打电话给我的第二个实体的财产? :)

+1

你的问题还不清楚,哪个第二个实体,以及在哪里调用它?你试图实现什么 – Matheno

+0

我尝试从ProductImage.php(我的第二个实体)调用“$ url”。我在本文件末尾的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

相关问题