【问题标题】:Want to access form fields in Twig using Symfony想要使用 Symfony 访问 Twig 中的表单字段
【发布时间】:2015-11-20 18:22:02
【问题描述】:

我正在尝试从表单中获取 orgid,以便可以将其传递给 Ormember:test Controller:Action,如 my.html.twig 中所述,使用:

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

现在哪里有一个静态的“1”,但我想成为一个变量。

我的.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 */

}

【问题讨论】:

    标签: symfony twig


    【解决方案1】:

    所以获取实体是可以的,而您唯一的问题是将其传递到模板中?那么我会说这是你的答案:

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

    【讨论】:

    • 我恨你!我已经尝试了很多,但不断将实体更改为我的实体名称。在这种情况下,我用“Org”代替了不起作用的“entity”。然后我准确地粘贴了你输入的内容,它按预期工作。谢谢,希望这对其他人有帮助! @honzalilak
    • 如何检查该字段是否存在?我尝试用 {% if entity.orgId is defined %} 包装上述内容以避免出现错误:在模板呈现期间引发异常(“产品不存在”)。 @honzalilak
    • @shayster01“产品不存在”异常从何而来?
    • 它来自 my.html.twig 在我插入代码后 {{ render(controller( 'CompanyNameofBundle:OrgMember:test', {'orgid':entity.orgId})) }} 但是仅当 orgId 中没有值时。它适用于所有具有 orgid 的行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    • 2023-04-05
    • 2012-12-04
    • 2017-09-08
    • 2016-02-14
    • 1970-01-01
    相关资源
    最近更新 更多