バージョン選択

フォーラム

メニュー

オンライン状況

76 人のユーザが現在オンラインです。 (67 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 76
もっと...

サイト内検索

質問 > 管理機能 > カテゴリー設定の不具合

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
aflo
投稿日時: 2014/8/12 5:13
対応状況: −−−
新米
登録日: 2014/8/4
居住地:
投稿: 2
カテゴリー設定の不具合
カテゴリーに関する不具合
はじめまして。
下記不具合の解決策が分からないため投稿させていただきます。

使用しているサーバーのPHP5.2のサポート終了に伴いPHP5.2からPHP5.3へ変更したところ、下記不具合が発生してしまいました。
使用しているEC CUBEのバージョンがPHP4に対応していなかったため5.3へ変更しました。


【不具合内容】
商品カテゴリーに関する不具合

1)登録済み商品の編集画面に移動すると、選択されていたはずの商品カテゴリーが未選択の状態になっている。
  選択登録して再度編集画面を開くとまた同じように未選になっている。

2)商品の編集内容は更新されるのですが、登録カテゴリーに商品が表示されなくなる。
  商品ページ自体は表示されているようですが、商品リストから表示されなくなります。

3)更新完了画面上部に下記エラーが表示されます。
Warning: Invalid argument supplied for foreach() in /---省略---/class/helper/SC_Helper_DB.php on line 928

------------------------------------------------------------------------------------------
[EC-CUBE] 2.4.4
[レンタルサーバ] ヘテムル
[PHP] PHP 5.3.28
[データベース] MySQL 5.0.82-community

------------------------------------------------------------------------------------------


以上、宜しくお願いいたします。
oda
投稿日時: 2014/8/19 21:54
対応状況: −−−
半人前
登録日: 2012/2/17
居住地:
投稿: 16
Re: カテゴリー設定の不具合
PHP5.3.26の環境にてEC-CUBE2.4.4を動かしてみましたが現象の確認ができませんでした。
おそらく別のものが影響している気がします。
※PHPバージョンアップの検証中だと思いますがwarningが画面表示されているので
 公開時にはdisplay_errorsやパラメタのDEBUG_MODEも見直した方がいいと思います。

以下は予想も含みます。
上記Warningが出ていることから、
data/class/helper/SC_Helper_DB.php内のファンクション
/**
     * 商品カテゴリを更新する.
     *
     * @param array $arrCategory_id 登録するカテゴリIDの配列
     * @param integer $product_id プロダクトID
     * @return void
     */
    function updateProductCategories($arrCategory_id, $product_id) {

の引数$arrCategory_idが空もしくはfalseで呼び出されている状態だと思われます。

呼び出し元はLC_Page_Admin_Products_Product.phpの448行目のカテゴリを更新する処理です。
// カテゴリを更新
            $objDb->updateProductCategories($arrList['category_id'], $product_id);


この時点で$arrList['category_id']が空(もしくはfalse)だと思われます。

確認すべきは2か所で
ポストされた['category_id']と
unserialize(ポストされた値);だと思います。
※ポストされた値はdeveloperツールなどで確認できると思います。

以下のようにシリアライズされた形でポストされているので
正しくserializeされた値でポストされている場合、
その環境でunserilize(ポスト値)を確認してみると
PHPバージョンアップの影響かどうかの切り分けができると思います。


name="category_id"
a:1:{i:0;s:1:"4";}

kanagettyo
投稿日時: 2014/8/19 21:58
対応状況: −−−
半人前
登録日: 2012/12/13
居住地:
投稿: 26
Re: カテゴリー設定の不具合
aflo様

PHPはバージョン変更で、「下位互換性の無い変更点」が存在いたします。
http://php.net/manual/ja/migration53.php

PHP5.2 > PHP5.3の変更であれば上記ページが参考になるかと思いますので、
ページを参照して、下位互換性の無い関数等を確認し、
お使いのEC-Cubeで該当の関数が存在しないか確認してみてはいかがでしょうか。

 Warning: Invalid argument supplied for foreach()

こちら、配列ではない変数でforeachを回しているかと思われます。

変数の値を確認し、意図しない値が入っていないか確認してみてはいかがでしょうか

以上です。ご参考になれば幸いです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,865名です
総投稿数は109,999件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.