質問 > フロント機能 > Controllerファイルで取得した外部データを複数のtwigファイルへ渡したい。 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
togaGreen |
投稿日時: 2023/5/29 11:03
対応状況: −−−
|
新米 登録日: 2023/5/19 居住地: 投稿: 10 |
Controllerファイルで取得した外部データを複数のtwigファイルへ渡したい。 お世話になります。
以下の記事を参考にwordpress取得した値をindex.twigに渡し、TOPページで記事情報を表示しています。 https://amidaike.hatenablog.com/entry/2020/12/04/000827 その中でheadタグに動的な値(wordpressで取得したデータ)を挿入したくdefault_frame.twigにも値を渡したいと考えています。 EC-CUBE上のControllerは複数のtwigに値を渡すことは可能でしょうか? それとも、一度index.php側で値を受け取ってjsでheadタグに挿入しないと行けないでしょうか? よろしくお願いします。 【環境】 OS: mac (MAMP) PHP: 7.4.33 EC-CUBE: 4.2.1 node: 10.24.1 |
mcontact |
投稿日時: 2023/5/29 11:12
対応状況: −−−
|
神 登録日: 2022/1/22 居住地: 投稿: 1535 |
Re: Controllerファイルで取得した外部データを複数のtwigファイルへ渡したい。 > その中でheadタグに動的な値(wordpressで取得したデータ)を挿入したくdefault_frame.twigにも値を渡したいと考えています。
> EC-CUBE上のControllerは複数のtwigに値を渡すことは可能でしょうか? > それとも、一度index.php側で値を受け取ってjsでheadタグに挿入しないと行けないでしょうか? どの画面でWordpressの値を取得して、表示するかによると思います。 複数の画面でWordpressの値を取得して値を表示する場合は、各画面のController部に定義が必要になります。 ※共通処理を定義した場合も同じように、処理の記述は必要になります。 商品詳細画面であれば、下記のあたりのController部に返す変数を定義すれば良いです。 https://github.com/EC-CUBE/ec-cube/blob/4.2/src/Eccube/Controller/ProductController.php#L249-L255
|
akako152 |
投稿日時: 2023/5/29 11:35
対応状況: 解決済
|
半人前 登録日: 2021/4/7 居住地: 東京都 投稿: 16 |
Re: Controllerファイルで取得した外部データを複数のtwigファイルへ渡したい。 コントローラーファイルで外部データを取得します。
取得したデータをTwigのレンダリングメソッドにパラメータとして渡します。例えば、render()メソッドを使用してindex.twigファイルに渡す場合、次のようにします: return $this->render('index.twig', [ 'externalData' => $externalData, // 外部データをパラメータとして渡す ]); index.twigファイル内で、渡されたデータを使用して表示を行います。 default_frame.twigファイル内でも同様に、コントローラーファイルから受け取ったデータを使用できます。index.twigと同じように、パラメータとして渡されたデータを利用することができます。 <!-- default_frame.twig --> <!DOCTYPE html> <html> <head> <title>My Page</title> <meta charset="UTF-8"> <meta name="description" content="{{ externalData.description }}"> <!-- 外部データを使用して動的な値を挿入 --> </head> <body> <!-- コンテンツの表示 --> {{ content }} </body> </html> |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |