WordPressでサイトのベースを作り、カートとしてEC-CUBEを連携させたいという要望がよく寄せられます。サイト内に共存させるだけならともかく、データの連携となると自分でカスタマイズするには敷居が高く感じる方が多いようです。

ただ、システムとしてはWordPressもEC-CUBE3もPHPで書かれたCMSですのでデータ共有はそれほど難しくありません。

WordPressでEC-CUBEのデータを利用

一つの方法としてはEC-CUBEのオートローダーをWordPress側で読み込んでやり、EC-CUBEのネームスペースを利用できるようにするという考えがあります。

他のサイトでEC-CUBEのログイン情報・商品情報を利用したいというようなときに有効です。

ただしEC-CUBEのルーティングが働いてしまうとFrontControllerProviderで指定したアクションが実行されてしまうので、ルーティングを動作させないように気をつけて設定してください。

EC-CUBE3でWordPressのデータを利用

EC-CUBEにWordPressのデータを表示することは比較的簡単です。EC-CUBEでWPの関数などを使用できるようにするにはEC-CUBEのhtml/index.phpでwp-load.phpを読み込んでやれば良いでしょう。これだけでWPの関数やデータが使用可能になります。

 

WP以外にも他のフレームワークやCMSとでもこの方法は使えます。データベースは別々でも大丈夫ですので柔軟な連携方法が考えられますね。

関連するカスタマイズ

Method not allowed / No route found for …エラー... EC-CUBE3でたまに確認されるエラー、Method not allowed エラーについて説明します。Whoops, looks like something went wrong.と怒られてしまった場合は、このエラーのことを思い出して見てください。 EC-CUBEにアクセスする場合、...
動的ブロックの作成方法 動的ブロックとは何か? 動的ブロックとはユーザー、時間帯、表示するページなどによって内容を変えることができるブロックです。EC-CUBE3の場合は独立したURIを持った1つの「ページ」だと考えれば本質に近いと思います。 Twigには別のページをテンプレート内に読み込む仕組みがあり、それを応用...
新しくテーブルを作ってエンティティと関連づける方法... 今回は非常に要望が多かった新しいテーブルを作ってエンティティとしてデータ取得をできるようにする方法をご紹介します。 この方法は3系のもので、まもなくリリースされるEC-CUBE4系では利用できませんのでご注意ください。 データベースの作成 ドクトリン定義ファイルの作成(dcm....
商品一覧のページネーションに「最初へ」「最後へ」を表示する方法... 商品一覧ページのページネーションはProduct/list.twigを見るとpagination.twigをインクルードすることで表示されています。 pagination.twigをのぞいて見ると「最後へ」の部分は次のようなコードが書かれています。 このリンクを表示するにはconfi...