EC-CUBEバージョン
2.3.4
PHPバージョン
PHP 5.2.8
DBバージョン
MySQL 5.1.32

ポイントを1Pt=1円としているので気がつかなかったが、システム設定のパラメータ設定をPOINT_VALUEを10に設定しても納品書で10円にならず、1円のままであるとの記事を「ゆちぞハマりまくり」さんのところで見つけた。

実際にPOINT_VALUEを10にして試してみたが、買い物途中の計算では10円となっているが、納品書は1円換算のままであった。

で、該当修正箇所は次の通りである。

\data\class\SC_Fpdf.php   の236行目付近

$arrOrder[$i][3] = "- ".number_format($this->arrDisp['use_point'] + $this->arrDisp['discount']).$monetary_unit;

の所をPOINT_VALUEを掛けて次の様に修正した。

$arrOrder[$i][3] = "- ".number_format(($this->arrDisp['use_point'] * POINT_VALUE) + $this->arrDisp['discount']).$monetary_unit;

これで、再び、納品書を出して見ると今度はきちんと1Pt=10円で計算されていた。

USBメモリやSDカードと言ったリムーバブルメディアをPCに挿入すると、自動的に起動する。
この機能がデフォルト値なので、今までそのまま使っていた。

しかし、今日、SDカードを挿入してもウンともスンとも言わない。

なぜだろう?

該当するレジストリを調べてみた。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun

この値は0x95になっていた。

このままだとDVDドライブは自動再生されるが、リムーバブルドライブはされない。

いつ変わったのかは不明だが、思い当たる節はある。
以前CPサポートの仕事をしていたときに、使ったいたUSBメモリを挿入してら、ノートンが反応した。
ウイルス感染は免れたようだが、その影響かも知れない。

そこで、0x91にすると元にもどった。

しかし、最近はUSBメモリによるウイルス感染が増えていて自動再生は危険なので、少し不便になるが、

0xb5として両方無効に設定いた。
EC-CUBEバージョン
2.3.4
PHPバージョン
PHP 5.2.8
DBバージョン
MySQL 5.1.32

管理画面でデータを登録しようとすると、
---------------------------------------------------------------------------------------------------------------------------------------
Warning: Invalid argument supplied for foreach() in   /data/class/helper/SC_Helper_DB.php on line 889
----------------------------------------------------------------------------------------------------------------------------------------
となった。

該当箇所は、
----------------------------------------------------------------------------------------------------------
 888   // カテゴリを登録
 889       foreach ($arrCategory_id as $category_id) {
 890           $this->addProductBeforCategories($category_id, $product_id);
 891       }
-----------------------------------------------------------------------------------------------------------

で、最終的にmagic_quotes_gpcがonだったので、offにして解決。

EC-CUBEバージョン
2.3.4
PHPバージョン
PHP 5.2.8
DBバージョン
MySQL 5.1.32

  • EC-CUBEのPCでは問題なく動くのにモバイル版では「注文する」をクリックすると、システムエラーとり、トップに遷移する。
  • モバイルで買い物かごにものを入れてるのに空になってしまう。
  • モバイルで会員登録ができない 。
セッションが正しく稼働していないのが原因のようだ。


で、
php.ini を次のように修正する。
-------------------------------------------
;session.use_trans_sid = 0
session.use_trans_sid = 1
------------------------------------------
これで買い物が出来るようになった。

EC-CUBEバージョン
2.3.4
PHPバージョン
PHP 5.2.8
DBバージョン
MySQL 5.1.32

モバイルサイトの商品一覧ページに商品画像のサムネイルを表示する。

\html\require.php」最後の方の
----------------------------------------------------------------------------------------------
header("Location: ". SC_Utils_Ex::sfRmDupSlash($url . $path));
exit;
----------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------
    /* resize_image.phpのときだけ、リダイレクト解除 */
    if(!preg_match("/resize_image.php/i", $path)) {
      header("Location: ". SC_Utils_Ex::sfRmDupSlash($url . $path));
      exit;
    }
-----------------------------------------------------------------------------------------------
の様に修正する。

そして、\data\Smarty\templates\quilt\mobile\products\list.tplの
サムネイル表示したい個所に、以下のようなタグを挿入する。
-----------------------------------------------------------------------------------------------
<!--▼携帯にサムネイルを表示する ここから-->
<img src="<!--{$smarty.const.IMAGE_SAVE_URL|sfTrimURL}-->/<!--{$arrProduct.main_list_image}-->" alt="<!--{$arrProduct.name|escape}-->" width="100">
<!--▲携帯にサムネイルを表示する ここまで-->
-----------------------------------------------------------------------------------------------



オープンソースのECサイト構築ソフトEC-CUBE(Ver.2.3.4)をさくらインターネットのサーバーにインストールした。

EC-CUBEバージョン
2.3.4
PHPバージョン
PHP 5.2.8
DBバージョン
MySQL 5.1.32


インストール自体はうまくいったが、文字化け発生。

で、
   \data\class\SC_DbConn.php
の64行目付近
        $this->conn = $objDbConn;
の次に
    $this->conn->query("SET NAMES utf8");
と記述する事で解決した。

また、
php.ini
は次のようにした。
---------------------------------------------
mbstring.language Japanese
auto_detect_line_endings On
output_handler mb_output_handler
mbstring.encoding_translation On
mbstring.detect_order auto
mbstring.substitute_character none
magic_quotes_gpc off
display_erros = off
log_errors = On

mbstring.internal_encoding UTF-8

php_value upload_max_filesize 5M
---------------------------------------------------
ファビコン(Favicon)とは、ブラウザで閲覧すると、アドレス欄に左横に表示しているアイコンのことで、普通はブラウザのアイコンだったりしましが、最近は独自のアイコンを表示しているサイトを多く見かけます。
このページのアドレス欄の左に付いているクマさんのアイコンがそれです。

特に最近はInternet Explorer7をはじめタブブラウザが主流になってきて同時にたくさんのページを開いて閲覧できるのは便利ですが、 開きすぎると、どこに何のページがあるかがわかりにくいです。
 そんなとき、独自のファビコンが表示されていれば、目印になり便利です。

「ファビコン(Favicon)」とは、「Favorite Icon(お気に入りアイコン)」の略です。 元々はInternet Explorerの独自機能でIE6では、ただウェブページにアクセスしただけではファビコンは表示されず、「お気に入り」に登録して、はじめて表示されるものでした。
またバグのせいかたまにうまく表示されない場合もありました。

しかし現在はFirefox・Opera・Safariなど、メジャーな最新ブラウザのほとんどがサポートしていて、Internet Explorer7では、他のブラウザに追従して、アクセスしただけでファビコンを表示するようになりました。


リストボックス型のプルダウンメニュー。

サンプル
↓↓↓↓↓↓

※各項目へリンクが貼っていません。移動したら、ブラウザの「戻る」ボタンで戻ってきて下さい。

ソースはこんな感じで。赤字の部分を変更れば、OK。
------------------------------------------------------------------------------------------
<form>
   <select onChange="location.href=value;">
      <option value="#">メニュー</option>
      <option value="page1.html">ページ1に移動します</option>
      <option value="page2.html">ページ2に移動します</option>
      <option value="page3.html">ページ3に移動します</option>
   </select>
</form>
--------------------------------------------------------------------------------------------

これでも一応JavaScriptである。
onChange="location.href=value;"
の部分がそうだ。


スタイルシートを適応すれば次のような事もでlきる。
サンプル
↓↓↓↓↓↓

※各項目へリンクが貼っていません。移動したら、ブラウザの「戻る」ボタンで戻ってきて下さい。

htmlソース
------------------------------------------------------------------------------------------
<form>
   <select onChange="location.href=value;">
      <option value="#">メニュー</option>
      <option value="page1.html" class="red">ページ1に移動します</option>
      <option value="page2.html" class="blue">ページ2に移動します</option>
      <option value="page3.html" class="red">ページ3に移動します</option>
   </select>
</form>
--------------------------------------------------------------------------------------------

これに次のスタイルシートを適応しただけである。
--------------------------------------------------------------------------------------------
option.red {
   background-color: #ffffcc;
   color: red;
}
option.blue {
   background-color: #ccffcc;
   color: blue;
}
-------------------------------------------------------------------------------------------


ローカル環境で動いているPHPスクリプトをレンサバに上げて動かしたら、クッキーの"の前に自動的に「¥」マークが付いて¥"となりうまく動作しなかった。

レンサバのマジッククォート(magic quotes)がオンになっているせいだろう。
php.iniは直接編集でいなきないので、
.htaccessに
---------------------------------------------
php_flag magic_quotes_gpc off
---------------------------------------------
と記してアップしたら解決!

参考:
http://jp.php.net/manual/ja/security.magicquotes.php

phpMyAdmin

| | コメント(0) | トラックバック(0)
PHPとMysqlも再インストールして

phpMyAdminを開くと、
「お使いの PHP MySQL ライブラリのバージョン 5.2.8aが MySQL サーバのバージョン 5.1.30 と異なります。これは予期しない不具合を起こす可能性があります。」


とのメッセージが出た。

で、MySQLをmysql-5.1.30-win32からmysql-5.0.67-win32にしたらこのメッセージは出なくなった。
どうやらMysqlのバージョンが新しすぎたようだ。