2014-10-02 125 views
0

獲得屬性值的我有一個叫做配置Symfony2中從形式

一個symfony的實體
class Config 
{ 
/** 
* @var integer 
* 
* @ORM\Column(name="id", type="integer") 
* @ORM\Id 
* @ORM\GeneratedValue(strategy="AUTO") 
*/ 
private $id; 

/** 
* @var string 
* 
* @ORM\Column(name="key_name", type="string", length=255) 
*/ 
private $keyName; 

/** 
* @var string 
* 
* @ORM\Column(name="key_value", type="text", nullable=true) 
*/ 
private $keyValue; 


/** 
* @var string 
* 
* @ORM\Column(name="key_type", type="string", length=255) 
*/ 
private $keyType; 

/** 
* @var string 
* 
* @ORM\Column(name="key_tab", type="string", length=255) 
*/ 
private $keyTab; 

控制器:

class ConfigController extends Controller 
{ 

/** 
* Lists all Config entities. 
* 
*/ 
public function indexAction() 
{ 
    $em = $this->getDoctrine()->getManager(); 

    $entities = $em->getRepository('MyBundle:Config')->findAll(); 

    $configCollection = array('configs'=>$entities); 

    $collection = $this->createForm(new ConfigsType, $configCollection); 

    return $this->render('MyBundle:Config:index.html.twig', array(
     'edit_form' => $collection->createView(), 

    )); 
} 

觀點:

{% macro config_row(elem) %} 
<div class="form-group"> 
{{ form_label(elem.keyValue, 'fff', { 'label_attr': { 'class': 'col-md-3 control-label' }}) }} 
{# elem.keyName|humanize #} 
<div class="col-md-4"> 
    {{ form_widget(elem.keyValue, {'attr': { 'class': 'form-control input-large' }}) }} 
    {{ form_errors(elem.keyValue) }} 

</div> 
</div> 
{% endmacro %} 

<form action="{{ path('my_config') }}" method="post" {{ form_enctype(edit_form) }} > 
{% for conf in edit_form.configs %} 
     {{ _self.config_row(conf) }} 
    {% endfor %} 
</div> 
{{ form_rest(edit_form) }} 
</form> 

我需要的是每個配置行i可以在config_row模板中獲取屬性值,以根據它們的值自定義html行結構

有什麼想法嗎?

謝謝。

+0

您的問題不明確。你可以請你重寫一下嗎? – Hpatoio 2014-10-02 14:58:51

回答

1

如果我理解你正確,你想檢索實體配置實例的每個屬性的值,對吧?

如果是的話,性能應該是這樣做訪問:

{{ conf.vars.data.id }} 
{{ conf.vars.data.keyName }} 
{{ conf.vars.data.keyValue }} 
+0

謝謝,這就是我要找的 – NoOneElse 2014-10-02 16:17:44

+0

沒關係,老兄。 – Alex 2014-10-03 03:38:55