質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Symfony2

Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Twig

Twig は、簡潔で可読性の高いテンプレートを記述することができ、 シンプルに記述することを目的として作られた PHPテンプレートエンジンです。

Q&A

1回答

2858閲覧

フォームから入力したtwigのタグを、メールテンプレートに反映させたい

KazutakaShimizu

総合スコア157

Symfony2

Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Twig

Twig は、簡潔で可読性の高いテンプレートを記述することができ、 シンプルに記述することを目的として作られた PHPテンプレートエンジンです。

0グッド

0クリップ

投稿2016/08/31 02:36

現在symfony2でwebアプリケーションを作っています。
その中で複数のユーザーに同時にメールを送る、メールマガジンの機能のようなものを作っているのですが、
ユーザーのそれぞれの名前をメールの中に入れて送信できるようにしたいと考えています。

コントローラーの中でユーザーの情報を渡しているので、メールのテンプレートであるhtmlファイルに下記のように直接twigのタグを書くときちんとユーザーそれぞれの名前がタグの部分に反映されます。
{{ user.name }}

これを送信するメール本文を作るフォームの中から埋め込めるようにしたいと思っております。
しかしまったく同じ{{ user.name }}という記述をフォームの中に入れても、{{ user.name }}という文字列のままメールに反映されてしまいます。
メール本文のデータは、htmlのタグが直接反映されるようにtwigのrawフィルタをつかっているのですが、うまくいきません。

どなたか方法をご存知の方、教えていただけないでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

どのようにテンプレートを展開しているのか、上記からだけではよく分かりませんが、Twig はテンプレートを一度コンパイルして PHP 構文に変換した後で変数の展開処理をしているので、フォームからの入力も同様に Twig のコンパイル処理を通さなければ変数展開は行われません。

ファイルではなくPHP文字列をテンプレートとして扱うには、Twig_Loader_Array を使います。
使用方法は以下のサンプルをご覧ください。

http://twig.sensiolabs.org/doc/api.html#twig-loader-array

投稿2016/09/02 16:21

koyhoge

総合スコア268

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問