1

いくつかの変数 (textarea からのテキスト) を Twig からフォーム経由で Symfony2 コントローラーに渡す方法があるかどうかを知りたいです。

        <form action="{{ path('admin_core_save') }}" method="post">
            <div id="edit-template">
                {% if template.getData() is defined %}
                    <textarea id="template">{{ template.getData() }}</textarea>
                {% endif %}
            </div>

            <input type="submit" value="Save" />
        </form>

保存ボタンを押すと、saveAction() メソッドに移動します

public function saveAction(Request $request)
{
    var_dump($request);

    return new Response('abc');
}

しかし、応答にはテキストエリアのテキストが含まれていません。これを取得する方法はありますか?

コントローラー内でフォームを作成してTwigに送信できることは知っていますが、この方法が可能かどうか知りたいです。

4

2 に答える 2

1

次のようなリクエストオブジェクトを介して POST 値にアクセスできます。

$this->get('request')->request->get('name');
于 2013-06-24T17:50:10.890 に答える
0

Symfony2 Form Componentについて少し学ぶ必要があると思います。symfony には、フォームを介して投稿されたユーザーデータを処理するフォームをレンダリングする組み込みシステムが既にあることがわかります。

あなたの質問に答えます。POST 変数を含むすべてのリクエスト データへのフル アクセスを提供するRequestオブジェクトがあります。

POST 値にアクセスするには、Request::get()メソッドを使用します。

$request->get('variable_name');

twig テンプレートにデータを渡すには、TwigEngine::renderResponseを使用します。

$this->container->get('templating')->renderResponse('AcmeDemoBundle:Demo:template.twig,html',
    array(
        'someVar' => 'some value'
    )
);

この変数は、テンプレートで次のように使用できます。

{{ someVar }}
于 2013-06-24T18:02:52.760 に答える