プラグイン > 開発について > WordPressの関数をtwigで使用 |
開発について
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
708 |
投稿日時: 2017/6/11 18:09
対応状況: −−−
|
新米 登録日: 2017/6/11 居住地: 投稿: 5 |
WordPressの関数をtwigで使用 お世話になります。
プラグインでWordPressの関数をEC-CUBEの既存ページのtwigで使えるようにしたいんですが、これはシステム的に可能でしょうか? こちらの記事にある https://umebius.com/eccube/wordpress_with_ec-cube3/ require_once ("./wp-load.php"); を使えばWordPressの関数は読み込めると思うのですが、既存のページに変数を渡すやり方がわかりません。 例えば $WPname = get_bloginfo( 'name' ); この処理をした後に$WPnameを既存のページに渡す。 EC-CUBEとWordPressは同じサーバーにありますが、DBは別で管理されています。 EC-CUBEのバージョンは3.0.13です。 ちなみに私のスキルレベルはEC-CUBEを触るのは初めてですが、WordPressの構築はなんとかできる程度です。 |
468 |
投稿日時: 2017/6/13 16:09
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: WordPressの関数をtwigで使用 wordpressの関数が利用できるかどうかについては、検証していないので分からないのですが、
twigに変数を渡す方法として、 /src/Eccube/Controller/XXXXController.phpなどのコントローラークラスの中で、
こういった記述の箇所で変数を渡しています。 第2引数のarray(...)の中で、 '変数名' => 値 で変数に値を渡しています。 twig側では {{ 変数 }} で表示できると思います。
|
h_tanaka |
投稿日時: 2017/6/14 18:27
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: WordPressの関数をtwigで使用 関数をtwigで使うのは、Twig_Extension 継承すれば可能と思います。
ただ、できるなら twig で関数使うよりも、php で関数使って結果だけを twig に渡すほうが軽いですし可読性も良いです。 EC-CUBE触るの初めてとのことですが、WordPressなど外部システムの組み込みは難しいので、業者に依頼する方が効率いいと思います。 時間かかってもご自分でされたいのでしたら、Symfony の習得は必須ですので、がんばってください!
|
708 |
投稿日時: 2017/6/16 11:45
対応状況: −−−
|
新米 登録日: 2017/6/11 居住地: 投稿: 5 |
Re: WordPressの関数をtwigで使用 すみません、返信が遅れました…
あまり本体のデータは触りたくなくて、できればプラグインのフォルダー内で完結したいんですが、例えば下記のプラグインのファイルで変数を渡すことはできますか? /app/Plugin/xxxxx/Controller/xxxxxController.php あと、h_tanakaさんへですが、 すみません、僕のスレッドの見出しの付け方が悪かったです… やりたいことは、関数の結果をtwigに渡すが正しいです。 |
h_tanaka |
投稿日時: 2017/6/16 11:56
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: WordPressの関数をtwigで使用 プラグインで作成した変数をtwigで使用するために本体側に渡したいということですね。
Event 内の変数に設定すれば可能かもしれませんが、おそらくそういう受口はなかったと思います。 twig のレンダリングのタイミングのイベントで Twig_Extension 使って php 処理を呼び出し、そこで WordPress に関する処理を行うのがいいでしょう。 ただ、けっこう手間なので、私なら既存ページではなく、ブロックかページを新規に作ってそこで処理させます。
|
708 |
投稿日時: 2017/6/16 18:48
対応状況: −−−
|
新米 登録日: 2017/6/11 居住地: 投稿: 5 |
Re: WordPressの関数をtwigで使用 ありがとうございます。
どうやら僕には難易度が高すぎてできなさそうなので、ブロックを新規に作る方向で試してみます! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |