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”);

に変更すれば解決した。

絶対パスを知る realpath

ファイルパスは下記で調べる。

tpl(ページ詳細等)からphpを呼び出す方法。

下記のコード追加でPHPをインクルード可能。

またはSmartyからPHPを実行することが出来ます。
パスは開いたときのURLからの相対パスorサーバーの絶対パス。

ファイルパスは下記で調べる。

コレで別のPHPアプリも起動可能。掲示板/Blogなど。