バージョン選択

フォーラム

メニュー

オンライン状況

35 人のユーザが現在オンラインです。 (26 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 34
tattsu もっと...

サイト内検索

質問 > フロント機能 > EC-CUBE3系でのWordPressとの連携【EC−CUBEメイン】

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kemshim
投稿日時: 2018/4/25 16:35
対応状況: −−−
半人前
登録日: 2018/4/25
居住地:
投稿: 11
EC-CUBE3系でのWordPressとの連携【EC−CUBEメイン】
EC-CUBE初心者です。

EC-CUBE3系にてWordPressを連携させる方法をご教示いただきたいです。

以下のページを確認いたしましたが、該当するファイルが見つけらない等、うまく構築ができない状況です。

WordPressとEC-CUBE3のデータを連携する方法
https://umebius.com/eccube/wordpress_with_ec-cube3/

EC-CUBE と WordPress の連携 - Qiita : https://qiita.com/nanasess/items/63717ff0d6e9518a124f

以下のフォーラムを参照しております。
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=19863&forum=10

https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=19252&forum=14


理想としては、EC-CUBEサイトに、EC-CUBEのデザインを踏襲したままで、ブログ個別記事や記事一覧を表示させたいと思っております。

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


468
投稿日時: 2018/4/25 18:41
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: EC-CUBE3系でのWordPressとの連携【EC−CUBEメイン】
html/index.phpのファイルが見つからないという事でしょうか?
ECCUBEをインストールしたディレクトリに/htmlディレクトリが作られていて、その中にindex.phpがあるかと思います。

ただし、リンク先の方法の場合、
ある程度、phpやsymfony2、twigの知識が必要になるかと思います。

有償になりますが、ECCUBE3とWordpressを連携するプラグインがいくつかありますので、
その中から使えるものがないか確認されるのも一つの方法かと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

h_tanaka
投稿日時: 2018/4/26 9:34
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: EC-CUBE3系でのWordPressとの連携【EC−CUBEメイン】
require_once './wp-load.php';
したときのパスが不正なのだと思います。

たとえば次のようなディレクトリの構成の場合、
EC-CUBE
┣ app
┣ html
┣ src
┃ ┗ Controller
┃   ┗ XxxxxController.php
┗ WordPress
  ┗ wp-load.php

EC-CUBEの任意の XxxxxController.php において次のように
require_once 'WordPress/wp-load.php';
とすればWordPressのロードファイルが読み込めるはずです。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

kemshim
投稿日時: 2018/4/27 13:28
対応状況: −−−
半人前
登録日: 2018/4/25
居住地:
投稿: 11
Re: EC-CUBE3系でのWordPressとの連携【EC−CUBEメイン】
468 様

ご返信いただきありがとうございます。
エックスサーバーの自動インストールで行ったのが原因かはわかりませんが、現状のディレクトリ構造は以下のようになっております。

EC-CUBE
┣ app
┣ html
┃ ┣ plugin
┃ ┣ template
┃ ┣ upload
┃ ┣ user_data
┃ ┗ web.config
┣ test
┣ vendor
┣ src
┃ ┗ Controller
┃   ┗ XxxxxController.php
┣ WordPress
┃ ┗ wp-load.php
┣ index.php
┣ index_dev.php
┗ autoload.php

EC-CUBE直下のindex.phpに記載する方法ではダメなのでしょうか?
稚拙な質問で申し訳ありません…。

アドバイスいただきありがとうございます。
WordPressの構築経験はあるので、PHPの知識は多少はあります。
symfony2に関しても入門書を読み進めている状況です。
出来る限りプラグインではない方法で構築したいと考えおります。

よろしくお願いいたします。
h_tanaka
投稿日時: 2018/4/27 14:20
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: EC-CUBE3系でのWordPressとの連携【EC−CUBEメイン】
上記のディレクトリ構成でしたら、
require_once 'WordPress/wp-load.php';
でうまく取得できると思いますが、ダメでしょうか?


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2018/4/27 14:24
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: EC-CUBE3系でのWordPressとの連携【EC−CUBEメイン】
失礼、index.php からの呼び出しですね。
require_once __DIR__.'/WordPress/wp-load.php';
で、どうでしょうか。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

kemshim
投稿日時: 2018/4/27 14:55
対応状況: −−−
半人前
登録日: 2018/4/25
居住地:
投稿: 11
Re: EC-CUBE3系でのWordPressとの連携【EC−CUBEメイン】
h_tanaka 様

ご返信ありがとうございます。
お忙しいところ本当に助かります。

ご教示頂いた方法で記述してみました。

今回、以下の記事を参照しております。

WordPressとEC-CUBE3のデータを連携する方法 : https://umebius.com/eccube/wordpress_with_ec-cube3/

参照したこちらの記事に「WPの関数やデータが使用可能になります。」という記載があったので、試しにEC-CUBE/app/template/default/index.twigの任意の場所に

<?php bloginfo('name'); ?>

を記載してみたのですが、動きがありません。

EC-CUBE2系ですが、WPのPHPタグを出力する場合、

<!-- {php} --> // 任意のコード <!-- {/php} -->


もしくは

{php} // 任意のコード {/php}


で囲むような方法が紹介されていましたが、もちろんうまくいきません。

WordPressの関数を利用したい場合は、どのように記載すればよろしいのでしょうか?

よろしくお願いいたします。
h_tanakaさんは書きました:
失礼、index.php からの呼び出しですね。
require_once __DIR__.'/WordPress/wp-load.php';
で、どうでしょうか。
h_tanaka
投稿日時: 2018/4/27 15:26
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: EC-CUBE3系でのWordPressとの連携【EC−CUBEメイン】
レンダリングエンジンとして、EC-CUBE2系ではSmartyが使用されていますが、3系ではTwigが使用されており、まったくの別物ですので、同じような記述では動作しません。

まずは index.php にて wp-load.php の読み込みがうまくいったのでしたら、 index.php ではWordPressと同じ関数がそのまま使用できます。

        // WordPress
        require_once 'WordPress/wp-load.php';
        global $post;
        $my_posts = get_posts(array(
            'numberposts' => 5,
            'category' => 1,
        ));
        $ArticleList = array();
        foreach ($my_posts as $post) {
            setup_postdata($post);
            $Article['id'] = get_the_ID();
            $Article['date'] = get_the_date('Y/m/d');
            $Article['url'] = get_the_permalink();
            $Article['category'] = get_the_category();
            $Article['Tags'] = get_the_tags();
            $Article['cat_id'] = $category[0]->cat_ID;
            $Article['cat_name'] = $category[0]->cat_name;
            $Article['title'] = get_the_title();
            $Article['content'] = strip_tags(get_the_content());
            $Article['img'] = null;
            $thumbnail_id = get_post_thumbnail_id();
            if ($thumbnail_id) {
                $eye_img = wp_get_attachment_image_src( $thumbnail_id , 'medium' );
                if ($eye_img) {
                    $Article['img'] = $eye_img[0];
                }
            }
            $ArticleList[] = $Article;
        }


これをレンダリングするtwigのパラメーターに渡してやり、
        return $app->render('xxxxx.twig', array(
            'ArticleList' => $ArticleList,
        ));


twig 側では次のような感じで出力できます。

    {% for Article in ArticleList %}
        <li>
            <span>
                {{ Article.date }}
                {% for Tag in Article.Tags %}
                    <i>{{ Tag.name }}</i>
                {% endfor %}
            </span>
            {{ Article.title }}
        </li>
    {% endfor %}


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

kemshim
投稿日時: 2018/4/27 16:30
対応状況: −−−
半人前
登録日: 2018/4/25
居住地:
投稿: 11
Re: EC-CUBE3系でのWordPressとの連携【EC−CUBEメイン】
h_tanaka 様

ご返信ありがとうございます。

すみません、以下のコードの記載場所が分からずどちらに記載すればいいのでしょうか?

        return $app->render('xxxxx.twig', array(
            'ArticleList' => $ArticleList,
        ));
h_tanaka
投稿日時: 2018/4/27 16:39
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: EC-CUBE3系でのWordPressとの連携【EC−CUBEメイン】
index.php にはありません。
各 Controller.php にあります。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,288名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.