質問 > フロント機能 > default_frame.twigに独自のPHP処理を入れたい |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
umebius |
投稿日時: 2017/5/7 9:43
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: default_frame.twigに独自のPHP処理を入れたい 自分でもわかりにくい説明だと思って辟易しているのですが
解決できそうでしたら良かったです。 またご投稿ください。 |
eri_0620 |
投稿日時: 2017/5/6 22:32
対応状況: −−−
|
常連 登録日: 2017/5/6 居住地: 投稿: 36 |
Re: default_frame.twigに独自のPHP処理を入れたい umebius 様
ご丁寧に本当にありがとうございました! おかげさまで、この問題は解決しそうです! また、どこかで別件でつまづいて記事を書くかもしれませんが、とにかくなんとかがんばってみます!! 本当にありがとうございました! |
umebius |
投稿日時: 2017/5/6 21:45
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: default_frame.twigに独自のPHP処理を入れたい php内で書くなら、src/Eccube/Application.phpあたりで書くと良いんじゃないでしょうか。
というコードがありますが、やることはこれと似通ってるのでこの下あたりでいいんじゃないでしょうか。 引用: こんな情報ってどうやって調べれば出てくるんでしょうか? 今は"symfony user agent"で検索しました。
|
umebius |
投稿日時: 2017/5/6 21:37
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: default_frame.twigに独自のPHP処理を入れたい app.request.headers.get('User-Agent')はtwig内に書く際の記述方法です。
default_frame.twigで {% if app.request.headers.get('User-Agent') matches '正規表現' %} {% else %} {% endif %}
|
eri_0620 |
投稿日時: 2017/5/6 21:27
対応状況: −−−
|
常連 登録日: 2017/5/6 居住地: 投稿: 36 |
Re: default_frame.twigに独自のPHP処理を入れたい umebius 様
ありがとうございます!! app.request.headers.get('User-Agent')というものがあるんですね!すみません、聞いてばかりで本当に申し訳ないのですが、こんな情報ってどうやって調べれば出てくるんでしょうか?私のまわりsymfonyを知っている人が一人もいなくて聞ける人が一人もいないのでかなり困っています。。。 また、default_frameがtwigを継承しているところはなんとなく理解できたのですが、継承元のコントローラーでPHP処理を書いても例えば、default_frameが持っている<head>タグ内にはその処理を埋め込むことはできないような気がするのですが、default_frame.twig自体に処理を埋め込む方法ってないのでしょうか?聞いてばかりで本当にすみません(;_;) |
umebius |
投稿日時: 2017/5/6 21:02
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: default_frame.twigに独自のPHP処理を入れたい なおdefault_frame.twigはコントローラが呼ぶ個別ページのテンプレートが継承しているテンプレートで、他のtwigから呼ばれています。
例えばProduct.detail.twigを見ると一番上の方に {% extends 'default_frame.twig' %}という記述があるはずです。
|
umebius |
投稿日時: 2017/5/6 20:55
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: default_frame.twigに独自のPHP処理を入れたい default_frame.twigでユーザーエージェントは app.request.headers.get('User-Agent') で取得できますので、
正規表現などで切り分けてやれば一応実現はできますね。 正規表現や比較はこの辺りが参考になります。 https://twig.sensiolabs.org/doc/2.x/templates.html#comparisons
|
eri_0620 |
投稿日時: 2017/5/6 17:18
対応状況: −−−
|
常連 登録日: 2017/5/6 居住地: 投稿: 36 |
default_frame.twigに独自のPHP処理を入れたい ▼テンプレート
[EC-CUBE] 3.0.12 [レンタルサーバ] [PHP] 5.4.45 [データベース] MySql ECCUBEを学びはじめた初心者です! symfonyのこともそんなに知らない状態です。すみません。 自分で作成したデザインでECサイトを作成したいのですが、なかなか進めることができません!ぜひ教えていただきたいのが、 default_frame.twigにPHPのユーザーエージェントを使用して、CSSやJSのリンク先の切り替えを行いたいのですが、そのPHP処理はどのように埋め込んだらいいのかがわかりません。controller側を探したのですが、このtwigを読んでいるPHPにいきつくことができませんでした! どなたかご存知であれば、ぜひ教えていただけないでしょうか? どうかよろしくお願いしますm(_ _)m |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |