我有一个名为Config的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>
我需要的是每个配置行我可以在config_row模板中获取属性值,以根据其值自定义html行结构
有什么想法吗?
谢谢。答案 0 :(得分:1)
如果我理解你是正确的,你想要检索实体Config实例的每个属性的值,对吗?
如果是这样,可以通过以下方式访问属性:
{{ conf.vars.data.id }}
{{ conf.vars.data.keyName }}
{{ conf.vars.data.keyValue }}