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

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

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

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

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

Twig

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

Q&A

解決済

2回答

1738閲覧

FuelPHP&Twig環境でTwigファイル側でのget送信パラメータの取得

kuniatsu

総合スコア141

PHP

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

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

Twig

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

0グッド

1クリップ

投稿2018/04/17 00:00

編集2018/04/17 03:32

FuelPHPとTwigを使った環境でTwig側でget送信のパラメータを取得する方法はないでしょうか?
ページにはget送信で遷移しており、連想配列の形で値が扱えると理想です。

twig

1<html> 2<body> 3{% set testId = $_GET["id"] %} 4{% if testId == 3 %} 5 {{"あなたのIDは3です。"}} 6{% endif %} 7</body> 8</html>

上記のようなイメージで組みたいです。

できればTwigファイル側だけで処理したいですが、php側を使っても問題はありません。

TwigもFuelも使用経験がなく4月始まって早々から行き詰まっております。
詳しい方ぜひお力添えください。

よろしくお願いいたします。

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

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

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

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

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

m.ts10806

2018/04/17 00:13

FuelPHPもタグに追加して置いてください。 あと、自身が書かれたソースコードをご提示ください。現状だと何に対して回答すれば良いのかが明確になっていません。
guest

回答2

0

ベストアンサー

GETパラメータをTwigテンプレートで利用したい場合、
0. コントローラから変数として渡す方法

  1. テンプレートで直接読み込む方法

があります。

・1の場合

php

1class Controller_Example extends Controller 2{ 3 $input = Input::instance(); 4 $data = [ 5 'id' => $input->get('id'), 6 ]; 7 8 return Parser\View::forge('example.twig', $data); 9}

html

1<html> 2<body> 3{% if id == 3 %}あなたのIDは3です。{% endif %} 4</body> 5</html>

・2の場合

html

1<html> 2<body> 3{% if input_get('id') == 3 %}あなたのIDは3です。{% endif %} 4</body> 5</html>

ちなみに、テンプレートで利用できるFuelのメソッドは

fuel/packages/parser/classes/twig/fuel/extension.php

に記載されています。

投稿2018/04/17 07:06

nedisoh

総合スコア74

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

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

0

When you want to use some values of PHP in Twig templates,

_1. Create an associative array like below.

PHP

1$my_vals = array("id" => 3, "name" => "kuniatsu", "site" => "https://kusotail.com");

_2. Initialize Twig system and create an instance like below.

PHP

1// Register your template directory. 2// As a good news, you could specify multiple directories with an array. 3$loader = new Twig_Loader_Filesystem('/path/to/templates'); 4 5// Initialize and create an instance of Twig as $twig. 6$twig = new Twig_Environment($loader, array( 7 'cache' => '/path/to/compilation_cache', 8));

_3. Then, render your template with an associative array that you created before. In this way, the associative array will be binded to values of Twig.

PHP

1echo $twig->render('index.html', $my_vals);

_4. So, you could use values as that key in your Twig template.

Twig

1<html> 2<body> 3{{ name }}のIDは{{ id }}です。 4<a href="{{ site }}">リンク</a> 5</body> 6</html>

Let's enjoy!

投稿2018/04/17 02:51

編集2018/04/17 03:00
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問