2

私はこの構成を持っています:

検索フィールドを含むページ。同じページの送信時に、調査に一致するすべての結果のリストが必要です。全員が対応するルートにリンクしています。たとえば、4つの要素が見つかった場合、結果のページに4つのリンクAzienda1、Azienda2eccが必要です。

今、私はこのエラーを受け取ります:

テンプレートのレンダリング中に例外がスローされました( "" ABCAziendaBundle_visualizza_azienda "ルートにいくつかの必須パラメーター(" id_azienda ")がありません。")::base.html.twigの27行目。500内部サーバーエラー-Twig_Error_Runtime1リンクされた例外:MissingMandatoryParametersException

ここに重要なファイルがあります、

#config.yml
ABCAziendaBundle_visualizza_azienda:
    pattern: /visualizza_azienda/{id_azienda}
    defaults: { _controller: ABCAziendaBundle:Default:showAzienda }
    requirements:
    id_azienda: \d+

ABCAziendaBundle_azienda_index:
    pattern:  /
    defaults: { _controller: ABCAICAziendaBundle:Default:indexAzienda }

#DefaultController.php

public function indexAziendaAction(Request $request) {

    $searchFormType = new SearchAziendaType();
    $form = $this->createForm($searchFormType);

    if ($request->getMethod() == 'POST')
    {
        $form->bindRequest($request);
        if ($form->isValid())
        {
            $data = $form->getData();

            $em = $this->getDoctrine()->getEntityManager();
            $aziende = $em->getRepository('ABCAziendaBundle:Azienda')->findAziendaByAliasOrRagioneSocialeSubstring($data["search_field"]);
            return $this->render('ABCAziendaBundle:Default:indexAzienda.html.twig', array('form' => $form->createView(), 'aziende' => $aziende));
        }
    }

    return $this->render('ABCAziendaBundle:Default:indexAzienda.html.twig', array('form' => $form->createView()));
}

public function showAziendaAction($id_azienda) {

    echo "non entra qui";
}

#indexAzienda.html.twig
{% extends "::base.html.twig" %}

{% block pagetitle %}ABC{% endblock %}

{% block body %}
<h2>Ricerca azienda</h2>
<div id="form_container">
    <form action="{{ path('ABCAziendaBundle_azienda_index') }}" method="post" {{ form_enctype(form) }}>
        {{ form_label(form.search_field, "Ricerca Azienda") }}
        {{ form_widget(form.search_field) }}
            <input type="submit" />
    </form>
    <a href="{{ path('ABCAziendaBundle_registra_azienda_anagrafica') }}"><button>nuova azienda</button></a>
</div>
    {% if aziende is defined %}
        {% for azienda in aziende %}
            <div class="areaTot">
                <a href="{{ path('ABCAziendaBundle_visualizza_azienda', { 'azienda_id' : azienda.id })  }}">{{azienda.alias}}</a>
            </div>
        {% endfor %}
    {% else %}
    <div class="areaTot">
        <p>"NIENTE"</p>
    </div>
    {% endif %}
{% endblock %}

4

1 に答える 1

3

私はあなたの側のタイプミスだと思います:

<a href="{{ path('ABCAziendaBundle_visualizza_azienda', { 'azienda_id' : azienda.id })  }}">

する必要があります:

<a href="{{ path('ABCAziendaBundle_visualizza_azienda', { 'id_azienda' : azienda.id })  }}">

違いはルートパラメータです。最初に書いazienda_idたのですが、ルートパラメータ名はid_azienda

エラーをクリアする必要があります。

よろしく、マット

于 2012-06-14T13:38:23.427 に答える