eccube2.11 インストール方法 (ver2.11.4)

eccube2.11.4 インストール方法 一回やりましたがもう既に忘れたのでもう一度トライするところから。

まず、データベースを構築するところからですが user_eccube と適当に設定。

空のDBを作成したら、 EC-CUBE Version 2.11.4(zip)をダウンロード。

この時、不具合修正ファイルの最新版も同時にダウンロード。

上記のうち、ECサイトそして機能するのに必要なデータは「data」「html」の2つのフォルダだけなので他は無視。

セットアップ前に、不具合修正ファイル内にある「data」「html」をeccube-2.11.4の中に入れて上書きしてください。

“eccube2.11 インストール方法 (ver2.11.4)” の続きを読む

EC-CUBE 動的ページを静的ページ(静的URL)にする

なぜ静的URLにするのかというと・・・

GoogleやYahoo! などの検索の場合、動的URLでは、一つのページとみなしてしまいます。 (まぁ最近じゃ?がついていようとインデックスしてくれるみたいですが) ちなみに動的URLとは下記のように?が入るURLです。 http://サーバ名/ec-cube/html/products/detail.php?product_id=xxこちらですと、検索するにあたって、detail.phpのファイルとみなされていまい、 1ページしかインデックスされません。

ですので、各ページごとにインデックスされるように、 http://サーバ名/ec-cube/html/products/detail/xx

とします。これが静的URLです。 実際にページは存在していませんが、 検索ロボットに存在しているように見せることができます。

1. パラメータを変える。

まず、 システム設定>パラメータ設定より以下を変更います。 パラメータ:LIST_P_HTML 変更前:URL_DIR . “products/list-p” 変更後:URL_DIR . “products/list/” パラメータ:DETAIL_P_HTML変更前:URL_DIR . “products/detail.php?product_id=”変更後:URL_DIR . “products/detail/”

2. .htaccsessファイルをhtml/products/以下にに配置します。 そのファイルに下記の内容を追加します。 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^detail/([0-9]+)+ detail.php?product_id=$1 [L] RewriteRule ^list/([0-9]+)+ list.php?category_id=$1 [L]

※.htaccsessは、html/ 内にありますので、それをコピーして設置すると楽です。

3.管理画面>デザイン管理>ブロック編集>カテゴリを開き46行目あたりのソースを変更

こちらはカテゴリのリンクの変更です。

変更前:products/list.php?category_id= 変更後:products/list/

4.管理画面>デザイン管理>ページ詳細設定>商品詳細ページのソースを変更

商品詳細のページのリンクが静的ページにするために、パス( / )を切った関係で、階層が一つ多くなってしまいました。

変更箇所は、 内の合計6つ変更です。

変更前:./ 変更後:../  ※2階層上へ送っている

他、動作には関係ありませんが、こちらも変更をオススメ、

 

変更前:products/list.php?category_id= 変更後:products/list/

これで、変更完了です。 各種エディターを使って、コピペして、コマンド+Fで所定の箇所を探してみてください。

EC-CUBE 2.11 Smarty 主要ディレクトリパス一覧

[html]
<!–{$TPL_URLPATH}–>
/html/user_data/packages/XXXX(使用中のテンプレ)

<!–{$smarty.const.USER_TEMPLATE_REALDIR}–>
html/user_data/packages/

<!–{$smarty.const.TOP_URLPATH}–>
/html/

<!–{$smarty.const.ROOT_URLPATH}–>
/html/

<!–{$smarty.const.HTML_REALDIR}–>
/html/

<!–{$smarty.const.HTTPS_URL}–>
https://ドメイン

<!–{$smarty.const.P_DETAIL_URLPATH}–>
/html/products/detail.php?product_id=

<!–{$smarty.const.IMAGE_SAVE_URLPATH}–>
/html/upload/save_image/

<!–{$smarty.const.DATA_REALDIR}–>
/data/

<!–{$smarty.const.CLASS_REALDIR}–>
/data/class/

<!–{$smarty.const.CLASS_EX_REALDIR}–>
/data/class_extends/

<!–{$smarty.const.TEMPLATE_REALDIR}–>
/data/Smarty/templates/default/

<!–{$smarty.const.TEMPLATE_ADMIN_REALDIR}–>
data/Smarty/templates/admin/

<!–{$smarty.const.TEMPLATE_TEMP_REALDIR}–>
html/upload/temp_template/

<!–{$smarty.const.GRAPH_URLPATH}–>
/html/upload/graph_image/

<!–{$smarty.const.IMAGE_TEMP_URLPATH}–>
/html/upload/temp_image/

<!–{$smarty.const.CART_URLPATH}–>
/html/cart/

<!–{$smarty.const.ADMIN_LOGIN_URLPATH}–>
/html/shopmng/

<!–{$smarty.const.ADMIN_SYSTEM_URLPATH}–>
/html/shopmng/system/

<!–{$smarty.const.ADMIN_PRODUCTS_URLPATH}–>
/html/shopmng/products/

<!–{$smarty.const.ADMIN_ORDER_URLPATH}–>
/html/shopmng/order/

<!–{$smarty.const.MOBILE_IMAGE_URLPATH}–>
/html/upload/mobile_image/

<!–{$smarty.const.MOBILE_TOP_URLPATH}–>
/html/

<!–{$smarty.const.MOBILE_CART_URLPATH}–>
/html/cart/

<!–{$smarty.const.MOBILE_P_DETAIL_URLPATH}–>
/html/products/detail.php?product_id=

[/html]

EC-CUBE テンプレートのファイル構成

テンプレートをパッケージングしながら作成中です。
テンプレ用に格納場所と概要を寄せ集めてみました。
デフォルトの状態では、下記に格納されています。

[html gutter=”false” highlight=”1,2″]
root/data/Smarty/templates/default
root/user_data/default
[/html]

以下フォルダ構成
“EC-CUBE テンプレートのファイル構成” の続きを読む

EC-CUBEのパスワード忘れた時ver2.11(強制リセット)

先日テスト用のEC-CUBEをインストール後、管理者パスワード控えるの忘れてましたorz
多分作ったのはtarコマンドで解凍の時・・・orz
どうしてもクライアント側で解凍すると権限が全部解除されてしまってインストールに挫折、なのでサーバー上で解凍しましたw
Chromeさんのキャッシュ機能にお任せしましたが、何個も同じフォルダに入れては消してのディレクトリだったのでパスワードが良くわからずw
でもまたサーバー上で新規に解凍してインストールするのもメンドクサイ・・・ググってみても旧バージョンの直し方しか出てこねぇ・・・orz

なので強制的にリセットの方法を発見・・・

再インストール(DBは初期化せず)w
インストール時に初期のIDとPASSを設定するのでリセットできます。

ここで注意。

データベースの初期化を行わないにチェックマークを入れておくこと・・・w
また、忘れる以前にテンプレいじってたりフロントいじってたら消えるかもね。
不安なら一応SQLも主要データもバックアップが必要かも。
(今回は急ぎだったのでしませんでしたがw)

MacからLinuxへSSH接続(コマンド入力)

MacからLinux系サーバへSSH接続(コマンド入力)する方法。
ECCUBEをアップロードする際にどうしてもデスクトップ上での解凍だとパーミッションが変更されてしまうのでサーバー上で解凍するためにSSH接続。
Finder上でShift+cmd+U でユーティリティーフォルダを開きターミナルを起動

$ ssh -l <ユーザ名> <ホスト名>

ユーザー名はサーバーのアカウントホスト名はアドレス等
後はパスワードを聞かれるので入力。
(パスワードはキーボード押しても何も表示されないので注意)

コレでMacOSXからサーバー上でコマンド入力が可能。

以下追記2011.11.24
cmd+U←ではなくShift+cmd+Uでユーティリティーフォルダが開きました。
ちなみにShift+cmd+Aでアプリケーションフォルダが開きます。

index.cgiやindex.phpをトップページにする方法(htaccess)

http://www.example.com/index.cgi
or http://www.example.com/index.php

上記のようなURLをhttp://www.example.com に統一させる場合のお話し。
Apacheの設定で大抵.phpやshtmlくらいは設定されてますが、某サーバーで(centos)CGIのみ設定されていなかったので、設定してみました。
トップディレクトリのhtaccessに以下の文章を追加。

DirectoryIndex index.html index.cgi index.php index.shtml

超簡単でしたが、各ディレクトリでindexが登場する場合全部やらなければならんのです。。。

レビュー一覧ページ作成 ec-cube2.11以降

まず管理画面にログインして、デザイン管理>PC>レイアウト設定 から、ページを新規入力します。
URLは review_list.php として、以下のコードを貼り付けて保存します。

次に、html/user_data/review_list.php を開いて、次のように修正します。

data/Smarty/templates/default/user_data/review_list.tpl を以下のように変更します。

以上。

ブロック化は以下。

デザイン管理>PC>ブロックの設定新規ブロックで下記を作成。
ブロック名:お客様の声一覧
ファイル名:review_list_bloc

トップページのブロックで表示する場合、html直下のindex.php下記のような感じで書き換え。

基本的には同じ作業。
画像とかは適当にかえましょう。
(レビュー自体未投稿だと空欄なので適当に用意しておきましょう。)

EC-CUBEからメールが送信されない

メモ

Netowl の Firebird というサーバーに EC-CUBE をインストールした場合、デフォルトのままでは注文完了時や通知のメールが送信されなかった。

送信できるようにするには、
/data/mtb_constants_init.php と
/data/cash/mtb_constants.php
の532 行目の

define(‘MAIL_BACKEND’, “smtp”);

define(‘MAIL_BACKEND’, “mail”);

に変更すれば解決した。