EC-CUBE

Archived posts from this Category

EC-CUBEの公開とセキュリティーを考慮したディレクトリ配置

Posted by on 25 2月 2014 | Tagged as: EC-CUBE

EC-CUBEをオフィシャルサイトからダウンロードし解凍すると、ディレクトリの中に、

  • data
  • docs
  • html
  • test
  • tests

のディレクトリと

  • .coveralls.yml
  • .travis.yml
  • build.xml
  • composer.json
  • COPYING

のファイルがあります。

EC-CUBEの公開では、本体はhtmlディレクトリの中身で、必要な様々なプログラムやテンプレートがdataの中に入っており、htmlの中のdefine.phpで設定を行います。

 

1. URLがhttp://example.comでEC-CUBEを公開し、そのルートがwwwというディレクトリ

wwwの中に上記htmlの中のファイルを全て入れます。

EC-CUBE公開ディレクトリ

EC-CUBE公開ディレクトリ

 

2. http://example.com/shop/でEC-CUBEを公開し、そのルートがwwwというディレクトリ

wwwの中のshopというディレクトリにhtmlの中のファイルをいれます。

dataディレクトリ

dataディレクトリ

 

上記でwwwは

ブラウザからアクセスできるディレクトリ

になるため、www以下にdataディレクトリを入れることはセキュリティー上問題があります。

ですので、ブラウザからアクセスできない

wwwと同じもしくはそれ以上の階層

にdataディレクトリを入れる必要があります。

そして、wwwもしくはshopの中にある、

define.php

でhtmlの中身から見たdataフォルダの相対パスと名前を設定します。

1.http://example.comでEC-CUBEを公開の場合、

define(‘HTML2DATA_DIR’, ‘../data/’);

2. http://example.com/shop/でEC-CUBEを公開の場合、

define(‘HTML2DATA_DIR’, ‘../../data/’);

となります。

Wp-Post 良くある質問1- WordPressインストールディレクトリ

Posted by on 24 2月 2014 | Tagged as: EC-CUBEプラグイン"WpPost"

※2014/2/24に記事を書き換えました。

弊社で提供させていただいてるEC-CUBEプラグイン”WpPost“で

WordPressインストールディレクトリが良く分からない

という質問が多いので、例をあげてご説明したいと思います。

※ご注意
WpPostをご利用いただく場合、同一サーバ上にWordPressとEC-CUBEをインストールする必要がありますのでご注意ください。

WordPressインストールディレクトリとは

EC-CUBEの公開ディレクトリを基準としたWordPressインストールディレクトリまでのファイルパス

になります。

多く考えられるのは、以下のケースではないでしょうか。

CASE1 今までWordPressでサイトを展開しているが、新たにEC-CUBEをインストールし、ECサイトを追加したい。

CASE2 新たにWordPressとEC-CUBEをインストール

また、CASE1の場合、

  • A.今までのWordpressの下にEC-CUBEをインストール。
  • B.今までのWordpressと別ドメインでEC-CUBEを運営したい。
  • C.サブドメインでEC-CUBEを運営したい。

という場合が考えられます。

Case1-A 今までのWordpressの下にEC-CUBEをインストール

例えば、URLがhttp://hoge.com/でWordPressのサイトを展開していて、EC-CUBEをhttp://hoge.com/shop/で公開するとします。

この場合、/html/wp/shopにEC-CUBEをインストールするというのがもっとも簡単なやり方です。

※EC-CUBEのhtmlというディレクトリの名前をshopと変えています。
※www部分はサーバの設定によって異なりますので、ご自分野環境に合わせて読み替えてください。

図にすると、こんな感じです。

Case1-A 今までのWordpressの下にEC-CUBEをインストール

Case1-A 今までのWordpressの下にEC-CUBEをインストール

※EC-CUBEのPHPやSmartyが入るdataディレクトリはブラウザでアクセスできない場所に置くことにします。
上の図の場合、shop(元html)/define.php の中でdataフォルダの位置と名前を define(‘HTML2DATA_DIR’, ‘../../../data/’); で指定します。

この場合、一つ上の階層にWordPressがインストールされていますので、

WordPressインストールディレクトリ = ../

となります。下図の、「*1」がWordPressのインストール場所になります。

Case1-A WordPressのインストール場所

Case1-A WordPressのインストール場所

Case1-B 今までのWordpressと別ドメインでEC-CUBEを運営したい。

http://hoge.com/でWordPressのサイトを展開していて、これと別にhttp://shop-happy.com/でEC-CUBEを展開するとします。

※ドメインの設定は、サーバによって異なりますので、ご自分野環境に合わせてください。
※EC-CUBEのhtmlというディレクトリの名前をshopと変えています。
※www部分はサーバの設定によって異なりますので、ご自分野環境に合わせて読み替えてください。

図にすると、こんな感じです。

Case1-B 今までのWordpressと別ドメインでEC-CUBEを運営

Case1-B 今までのWordpressと別ドメインでEC-CUBEを運営

この場合、EC-CUBEとWordPressが同じ階層にインストールされているので、以下のような設定になります。

Case1-B WordPressのインストール場所

Case1-B WordPressのインストール場所

WordPressインストールディレクトリ =../wp

上の、「*1」がWordPressのインストール場所になります。

Case1-C サブドメインでEC-CUBEを運営したい。

例として、http://hoge.com/でWordPressのサイトを公開していて、http://shop.hoge.com/でEC-CUBEを公開するとします。

この場合、CASE1-BとWEBサーバの公開設定部分が異なるだけで、WpPost・WpPostPlusの設定はCASE1-Bと同じになり、

  • /html/wpをhttp://hoge.com/で公開
  • /html/shopをhttp://shop.hoge.com/で公開

となります。
※サブドメインの設定は、サーバによって異なりますので、ご自分野環境に合わせてください。
※EC-CUBEのhtmlというディレクトリの名前をshopと変えています。
※www部分はサーバの設定によって異なりますので、ご自分野環境に合わせて読み替えてください。

図にすると、こんな感じです。

Case1-C サブドメインでEC-CUBEを運営

Case1-C サブドメインでEC-CUBEを運営

この場合、WordPressインストールディレクトリは以下のようになります。

Case1-C WordPressのインストール場所

Case1-C WordPressのインストール場所

WordPressインストールディレクトリ =../wp

となります。上の、「*1」がWordPressインストールディレクトリになります。

Case2 新たにWordPressとEC-CUBEをインストール

この場合は自由に決められますので、サイト設計の際、WordPressインストールディレクトリを決定ください。

title書き換えで悩む

Posted by on 31 1月 2014 | Tagged as: EC-CUBE, EC-CUBEプラグイン"WpPost", WEB, WEBプログラミング, wordpress, プラグイン

EC-CUBEのプラグインWpPostのSEO対策をしていて2回ほど躓いたので、書いておきます。

EC-CUBEのプラグイン作成ではSmartyのテンプレートをフックして、内容を変更できます。

  1. prefilter・・・Smrtyテンプレートコンパイル前※コンパイル時のみ
  2. outputfilter・・・Smrtyテンプレートコンパイル後※テンプレート出力時に毎回

prefilterでtitleタグを変更するために

$objTransform->select(‘title’)->replaceElement(file_get_contents($template_dir . ‘plg_hoge_add.tpl’));

とすると、「テンプレートの操作に失敗しました。title が存在しません」となります。

悩んだのですが、解決しないためEC-CUBEのフォーラムで質問したら、titleではエラーするようです。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=13941&forum=17&post_id=62557

上記リンクにあるようにjQueryで<title>~</title>の中身を入れ替えるようにしました。

 $('title').text('Smartyのtagとか');

やれやれと思っていたら、ChromeやFireFoxは問題無いのですが、IEでエラーが出ます!

色々悩んだところ、どうも$('title').text('Smartyのtagとか');が影響しているようなので、調べてみると、大正解のページを見つけました。

jQueryでタイトルタグが書き換えられない

なので、

document.title = "Smartyのtagとか";

とすることで、解決!

やっと思い通りの動きをするようになりました。

EC-CUBEプラグインのHETEMLでの利用

Posted by on 19 6月 2013 | Tagged as: プラグイン

HETEMLをご利用の場合、WAF(アプリケーション・ファイヤー・ウォール)がONになっていますと、プラグイン設定画面で保存した際403エラーとなります。
WAFのログで、
/test/admin/load_plugin_config.php?plugin_id=・・・
となっていることで確認いただけます。
この場合、一旦WAFをOFFで設定の上、設定後にWAFをONとしてください。

WpPost修正ファイル

Posted by on 19 6月 2013 | Tagged as: EC-CUBEプラグイン"WpPost"

下記内容はWpPost本体に取り込みましたので、修正ファイルの配布は終了いたしました。

最新バージョンをお使いください。

ダウンロードサイト -> http://www.ec-cube.net/products/detail.php?product_id=276

WpPostをご利用いただく際、サーバー環境によってエラーが出る場合があることが判明いたしました。

その際、プラグイン導入後
http://gizmo.co.jp/WpPostFiles130617.zip
より修正ファイルをダウンロードいただき、
data/downloads/plugin/WpPost 以下、
・plg_WpPost_Category_LC_Page.php
・plg_WpPost_LC_Page.php
・plg_WpPost_List_LC_Page_FrontParts_Bloc.php
3ファイルを入れ替えていただくようお願いいたします。

EC-CUBEのセキュリティーアップデート

Posted by on 24 5月 2013 | Tagged as: EC-CUBE

EC-CUBEのサイトにて緊急度の高い脆弱性を含めたアップデートが公開されています。
http://www.ec-cube.net/info/weakness/20130522/index.php
ご確認の上、ご対応ください。

今回のアップデートにつきましては、弊社でご提供しているプラグインが問題無く稼働することを確認しておりますが、カスタマイズを実施されている場合など保証いたしかねますので、ご注意の上実施をお願いいたします。

WpPostインストールに際しての注意点

Posted by on 11 10月 2012 | Tagged as: EC-CUBEプラグイン"WpPost"

EC-CUBEのプラグイン”WpPost”のインストールに際し、フォルダのパーミッションで問題が発生する場合があります。

以下のフォルダがWEBサーバーの実行権限で書き込み可能となっている必要があります。
ご自分の環境をご確認いただきますようお願いします。

■dataフォルダ以下
・data/downloads/plugin
・data/Smarty/plugin/templates/default
・data/Smarty/plugin/templates/default/frontparts/bloc
※default部分はテンプレートにより変更になります。
※dataフォルダの名称を変更されている方は、ご自分の環境に合わせ読み替えてください。

■htmlフォルダ以下
・html
・html/plugin
・html/frontparts/bloc
※htmlフォルダの名称を変更されている方は、ご自分の環境に合わせ読み替えてください。

Pleskをお使いの方へ

Pleskをお使いの方はWEBサーバーの実行権限とフォルダのオーナー権限が異なりますので、707、757など適切なパーミッションを設定してください。
詳細はホスティング業者へお尋ねください。

さくらインターネットをご利用の方へ

さくらインターネットではフォルダーのパーミションが777757707の場合、およびファイルのパーミッションが 666646606 の場合 Internal Server Error が発生いたします。

WpPostインストール後に

・html
・html/plugin
・html/plugin/WpPost
・html/plugin?WpPost/media
・html/frontparts/bloc
・html/wppost
のフォルダパーミッションが 755 となっているかご確認いただき、異なる場合、手動にて変更ください。
また、各フォルダ内のファイルにつきましては 644 となっているかをご確認いただき、異なる場合、手動にて変更をお願いいたします。

なぜWpPostを作ったか

Posted by on 29 8月 2012 | Tagged as: EC-CUBE, EC-CUBEプラグイン"WpPost", プラグイン

本日(もう昨日になりましたが)、EC-CUBEとWordPressの連携プラグイン”WpPost”の新しいバージョンをリリースさせていただきました。

http://gizmo.co.jp/wppost/wppost-new/

良く分かってないころから、EC-CUBE東京ユーザグループやプラグイン開発合宿の皆さまには大変お世話になり、感謝してもしきれません。
また、下北沢のオープンソースカフェWordPress部の方にもサジェスチョンいただきました。ありがとうございます。

 
私がこのプラグインを作ろうと思った理由は、

「世の中にWordPressで作ったサイトがたくさんあるが、ECサイトをやろうとするとEC-CUBEの方が使いやすい気がする」

という点です。

 

  • WordPressでできている資産をそのまま利用できれば、ECサイトで展開する時も有利ではないか。
  • EC-CUBEとWordPressのデザインを揃えるだけでは、会員やポイントなど、ECの機能がうまくいかない。

と思って、色々テストしていた時に、EC-CUBEのプラグインリリースがあり、プラグイン開発合宿に参加させていただきました。

ここで、最初のバージョンを作成させていただいたのですが、今考えると、この時点ではEC-CUBEを良く分かってなく、参加された皆様にはご迷惑かけたのではないかと、今考えると冷や汗ものです。

商品一覧は2.11のカスタマイズで機能を盛り込んでいたのですが、コメント部分は結構時間がかかってしまいました。

まだ、不具合やバグなどもあるかと思いますので、何かありましたらご連絡いただけると嬉しいです。

今後とも、”WpPost”をよろしくお願いいたします。