想要使用Symfony访问Twig中的表单字段



我试图从表单中获取orgid,所以我可以将它传递给Ormember:test Controller:Action,如my.html.twig中使用:

{{ render(controller(
    'CompanyNameofBundle:OrgMember:test', {'orgid':1})) }}

这里现在有一个静态的"1",但我想成为一个变量。

my.html.twig

{% extends 'CompanyNameofBundle::base.html.twig' %}
{% block body -%}
    <h1>Organization Edit</h1>
    {{ form(edit_form, {'attr': {'novalidate': 'novalidate'}}) }}
        <ul class="record_actions">
    <li>
        <a href="{{ path('org') }}">
            Back to the list
        </a>
    </li>
    <li>{{ form(delete_form) }}</li>
</ul>
    {{ render(controller(
    'CompanyNameofBundle:Search:shortjq')) }}
    {{ render(controller(
    'CompanyNameofBundle:OrgMember:test', {'orgid':1})) }}
{% endblock %}

OrgController.php

/**

* Org controller.
 *
 * @Route("/org")
 */
class OrgController extends Controller
{
public function editAction($id)
    {
        $em = $this->getDoctrine()->getManager();
        $entity = $em->getRepository('CompanyNameofBundle:Org')->find($id);
        if (!$entity) {
            throw $this->createNotFoundException('Unable to find Org entity.');
        }
        $editForm = $this->createEditForm($entity);
        $deleteForm = $this->createDeleteForm($id);
        return array(
            'entity'      => $entity,
            'edit_form'   => $editForm->createView(),
            'delete_form' => $deleteForm->createView(),
        );
    }
}

Org.php(实体)

/**

* Org
 */
class Org
{
     /**
     * @var string
     */
    private $orgName;

     /**
     * @var integer
     */
    private $orgId;
    /** of course setters and getters for above */
}

所以得到实体是OK的,你唯一的问题是把它传递到模板?那我就说这就是你的答案:

{{ render(controller( 'CompanyNameofBundle:OrgMember:test', {'orgid':entity.orgId})) }}

最新更新