外部ECCUBEの商品RSSをWordpressのテンプレート内に表示する

会社概要やトップページをWordpress、商品販売ページをECCUBEとして利用した場合、トップページなどに新着情報(Wordpressの投稿)と新着商品(ECCUBEの商品)を同時に掲載したくなることがあります。この方法ではWordpressのテンプレート内でECCUBEの商品RSSを取得して表示します。

外部ECCUBEの商品RSSをWordPressのテンプレート内に表示する

作成日
2014/07/15
更新日
2016年8月16日

会社概要やトップページをWordpress、商品販売ページをECCUBEとして利用している方も多くいると思います。しかし困ってくるのがトップページなどに新着情報(WordPressの投稿)と新着商品(ECCUBEの商品)を同時に掲載したい場合。この方法ではWordpress内でECCUBEの商品RSSを取得して表示します。ECCUBEにWordpressの投稿を表示させるプラグインなどはあるようですが、ページを簡単に作れるWordpressの方をメインに使いたい場合などに便利です。また、外部にECCUBEがある場合にもこの方法は利用できるため、ショップ専用のサーバから取得することもできます。

RSSの取得

以下の参考URLを参考に、ECCUBEの商品RSSを取得するためのPHPコードになります。
参考URL:http://daisukebe.net/php-rss/
SimpleXml関数を利用します。詳しくはまだ知りませんが、XMLデータを簡単にオブジェクト化してくれるもののようです。
「simplexml_load_string」にRSSのURLを入れることによってRSSを配列として取得できます。しかし、ラピッドサイトのVPS-Sプランではうまく動作しなかったため調べてみたところ、以下の参考URLをもとに修正したら表示されました。
参考URL:http://seoaffiliate.org/archives/2544.html

RSSの表示

$rssDataに商品RSSの配列が入っているのでforeachで回して表示させます。リンクやタイトルなども表示できます。print_r($rssData);などで確認してみるといいと思います。$RssMaxを最大値としてループを途中で抜けるようにしています。

新着商品RSSの編集

出力するHTMLのクラスなどを編集したい場合は、テンプレートの「/data/Smarty/templates/default/rss/」内のproducts.tplを編集したらできるかと思います。
また、取得する際の順番や表示件数を変更したい場合は「/data/class/pages/rss/LC_Page_Rss_Products.php」を編集します。

ECCUBE商品RSSの順番を変える

このままではID順になっているので、順番を変える方法になります。ECCUBEのコアな部分かと思うので、サイト移転やアップグレードなどする際は注意や必要です。

以下のファイルを修正します。
/data/class/pages/rss/LC_Page_Rss_Products.php
283行目からを変更します。
参考URL:http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=10873&forum=10
修正前

修正後

また、「create_date DESC」の部分でソートしています。
更新日順:’update_date DESC’
作成日順:’create_date DESC’

ECCUBE商品RSSの取得件数を変更

このままではすべての商品を取得するので、商品が多くになるにつれ重くなっていきます。また、この方法では商品RSSを変更することになるので、新しいRSSを用意した方がいいかもしれません。
ECCUBEのコアな部分かと思うので、サイト移転やアップグレードなどする際は注意や必要です。
順番の変更と同じく、以下のファイルを修正します。
/data/class/pages/rss/LC_Page_Rss_Products.php
283行目からを変更します。
参考URL:http://aerocompact.blog91.fc2.com/blog-entry-44.html

修正前

修正後

「setlimit(9)」の括弧内の数字を変えることで取得件数を指定できます。
この場合だと9件取得します。

Category

Archive