3月 24

EC-CUBE2.4.3をCPI(シェアードプランZ1)にインストールするための手順です。

EC-CUBEは以下の構成とします。

/html/eccube/ : 解凍後のhtmlディレクトリ
/eccube_data/ : 解凍後のdataディレクトリ
DB : postgreSQL

define.php を修正

define(“HTML2DATA_DIR”, “/../../eccube_data/”);
define(“DATA_DIR2HTML”, “../html/eccube/”);

.htaccessを修正(PC用)

以下2行を追加
AddHandler x-httpd-php524 .php
suPHP_ConfigPath /usr/home/ユーザー名/html/eccube/

php_value や php_flag は全て削除。

/html/eccube/ と /eccube_data/ に .htaccess をアップロード。

.htaccessを修正(モバイル用)

以下2行を追加
AddHandler x-httpd-php524 .php
suPHP_ConfigPath /usr/home/ユーザー名/html/eccube/mobile/

php_value や php_flag は全て削除。

/html/eccube/mobile/ に .htaccess をアップロード。

php.iniを編集(PC用)

CPIコントロールパネルの、
お客様情報 > プログラムのパスとサーバの情報
で、最新の「PHP iniの設定情報」にある最新のPHPのリンクをクリックし表示された内容をコピー。
php.iniというファイルを作成し、先程コピーした内容をペースト。

php.iniの内容の一部を以下のように修正。
mbstring.http_input = UTF-8
mbstring.encoding_translation = Off
output_handler = mb_output_handler
output_buffering = 4096
magic_quotes_gpc = Off
upload_max_filesize = 5M

/html/eccube/ にphp.ini をアップロード。

php.iniを編集(モバイル用)

基本的にはPC用と同じ流れ。
ただし、一部を以下のようにしないと色々と問題を起こすので注意。

output_handler = (nullなので何も指定しない)
variables_order = “EGPS”

/html/eccube/mobile/ にphp.ini をアップロード。

.htaccessを新規作成

php.iniが外部から閲覧されないようにphp.iniへのアクセスを拒否。
/html/に作成した .htaccess をアップロード。
※つまり、公開ディレクトリ内に置いたphp.ini全てを拒否。

<Files ~ "\.ini">
deny from all
</Files>

SC_DbConn.php を修正

/eccube_data/class/SC_DbConn.php の
$this->conn = $objDbConn;
の直前に以下を追加。

if (DB_TYPE == 'pgsql') {
pg_set_client_encoding("utf8");
}

insert_data.sqlを修正

html/install/sql/insert_data.sql
内のファイルを以下のように変更。

INSERT INTO mtb_delivery_date VALUES (’2′, ’1〜2日後’,1);
INSERT INTO mtb_delivery_date VALUES (’3′, ’3〜4日後’,2);

INSERT INTO mtb_delivery_date VALUES (’2′, ’1-2日後’,1);
INSERT INTO mtb_delivery_date VALUES (’3′, ’3-4日後’,2);

EUC-JPでは「〜」を扱えないため「-」に変えておく。

パーミッション変更

/html/eccube/install/temp のパーミッションを777に変更。

インストール開始

http://hogehoge.cpinet.jp/eccube/install/ にアクセス。

インストール画面の通りに進めて行けば、問題なく完了するはずです。

Special Thanks : EC-CUBEの女王

written by sixbird \\ tags: , ,

11月 09

EC-CUBEの商品画像を魅力的にみせる方法はないかと思い、Flashを使って商品画像を移動・拡大させるFreelyViewをリリースしました。

個人・法人、商用・非商用を問わずどなたでも無料で自由にご利用できます。

詳しくはFreelyViewページをご覧ください。

FreelyView

written by sixbird \\ tags: , ,

12月 17

jquery.suggestを利用して、商品検索ブロックの入力フォームに入力補完機能を追加してみよう。

jquery.suggestのサンプル

ファイルをダウンロードする

まずはVulgarisOverIPサイトからファイルをダウンロード。

ファイルを格納

jquery.suggest.js → /user_data/packages/default/js/
jquery.suggest.css → /user_data/packages/default/css/
へ放り込む。

商品名検索用php作成

EC-CUBEをインストールしたルートディレクトリにjquery_suggestというディレクトリを作成。
そこに以下の内容でname_search.phpというファイルを作成。

<?php
require_once("../require.php");

// 検索結果の取得
$objQuery = new SC_Query();
$col = " name ";
$from = " dtb_products ";
$where = "status = 1 and del_flg = 0";
$arrval = array();

$q = strtolower($_REQUEST["q"]);
if (!$q) return;
$arrProducts = $objQuery->select($col, $from, $where, $arrval);
foreach ($arrProducts as $value) {
	$items[] = $value['name'];
}

foreach ($items as $value) {
	if (strpos(strtolower($value), $q) !== false) {
		echo "$value\n";
	}
}
?>

商品検索ブロック修正

/data/Smarty/templates/default/bloc/search_products.tpl 内の次の1行、

<p><input type="text" name="name" class="box142" maxlength="50" value="<!--{$smarty.get.name|escape}-->" /></p>

を以下に修正(id=”suggest_name”を追加しただけ)

<p><input type="text" name="name" id="suggest_name" class="box142" maxlength="50" value="<!--{$smarty.get.name|escape}-->" /></p>

テンプレートに追加

/data/Smarty/templates/default/site_flame.tpl へ以下を追加。

<link rel="stylesheet" href="<!--{$TPL_DIR}-->css/jquery.suggest.css" type="text/css" media="all" />
<script type="text/javascript" src="<!--{$TPL_DIR}-->js/jquery.js"></script>
<script type="text/javascript" src="<!--{$TPL_DIR}-->js/jquery.suggest.js"></script>
<script type="text/javascript">
jQuery(function() {
jQuery("#suggest_name").suggest("<!--{$smarty.const.URL_DIR}-->jquery_suggest/name_search.php",{});
});
</script>

さぁ、レッツトライ!

うまく動かない場合はご一報を。(全く同じ環境で試してないので…)

written by sixbird \\ tags: ,