バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 商品画像が消えてしまいます

管理機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
umebius
投稿日時: 2017/2/21 12:44
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 商品画像が消えてしまいます
外部からのアクセスの可能性は完全にゼロという前提ですと
(FTP・MySQL・サーバーのコントロールパネル・EC-CUBE管理画面のパスワードは念のため全て変更しておいたほうが良いような気もします)

ファーストサーバ以外のサーバーでそっくりそのまま同じサイトを設置して同様の現象が起こるかどうかなど、原因の切り分けが必要なように思います。

あとはインストールしているプラグインでバグがないかどうか。
サーバーのCronでおかしな定時処理が行われていないかどうか。
ログを取るなりデバッグが必要かと思います。

可能性があるとすれば「商品の削除」時でしょうか。

Admin/ProductController
ここならプラグインなどから全削除操作できるので。(バグでも悪意でも)
$deleteImagesの値をデバッグしてみると良いかもしれません。

public function delete(Application $app, Request $request, $id = null)
    {
        $this->isTokenValid($app);
        $session = $request->getSession();
        $page_no = intval($session->get('eccube.admin.product.search.page_no'));
        $page_no = $page_no ? $page_no : Constant::ENABLED;

        if (!is_null($id)) {
            /* @var $Product \Eccube\Entity\Product */
            $Product = $app['eccube.repository.product']->find($id);
            if (!$Product) {
                $app->deleteMessage();
                return $app->redirect($app->url('admin_product_page', array('page_no' => $page_no)).'?resume='.Constant::ENABLED);
            }

            if ($Product instanceof \Eccube\Entity\Product) {
                log_info('商品削除開始', array($id));

                $Product->setDelFlg(Constant::ENABLED);

                $ProductClasses = $Product->getProductClasses();
                $deleteImages = array();
                foreach ($ProductClasses as $ProductClass) {
                    $ProductClass->setDelFlg(Constant::ENABLED);
                    $Product->removeProductClass($ProductClass);

                    $ProductClasses = $Product->getProductClasses();
                    foreach ($ProductClasses as $ProductClass) {
                        $ProductClass->setDelFlg(Constant::ENABLED);
                        $Product->removeProductClass($ProductClass);

                        $ProductStock = $ProductClass->getProductStock();
                        $app['orm.em']->remove($ProductStock);
                    }

                    $ProductImages = $Product->getProductImage();
                    foreach ($ProductImages as $ProductImage) {
                        $Product->removeProductImage($ProductImage);
                        $deleteImages[] = $ProductImage->getFileName();
                        $app['orm.em']->remove($ProductImage);
                    }

                    $ProductCategories = $Product->getProductCategories();
                    foreach ($ProductCategories as $ProductCategory) {
                        $Product->removeProductCategory($ProductCategory);
                        $app['orm.em']->remove($ProductCategory);
                    }

                }

                $app['orm.em']->persist($Product);

                $app['orm.em']->flush();

                $event = new EventArgs(
                    array(
                        'Product' => $Product,
                        'ProductClass' => $ProductClasses,
                        'deleteImages' => $deleteImages,
                    ),
                    $request
                );
                $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_PRODUCT_DELETE_COMPLETE, $event);
                $deleteImages = $event->getArgument('deleteImages');

                // 画像ファイルの削除(commit後に削除させる)
                foreach ($deleteImages as $deleteImage) {
                    try {
                        $fs = new Filesystem();
                        $fs->remove($app['config']['image_save_realdir'] . '/' . $deleteImage);
                    } catch (\Exception $e) {
                        // エラーが発生しても無視する
                    }
                }

                log_info('商品削除完了', array($id));

                $app->addSuccess('admin.delete.complete', 'admin');
            } else {
                log_info('商品削除エラー', array($id));
                $app->addError('admin.delete.failed', 'admin');
            }
        } else {
            log_info('商品削除エラー', array($id));
            $app->addError('admin.delete.failed', 'admin');
        }

        return $app->redirect($app->url('admin_product_page', array('page_no' => $page_no)).'?resume='.Constant::ENABLED);
    }


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   商品画像が消えてしまいます nekochan 2017/2/20 21:35
   » Re: 商品画像が消えてしまいます umebius 2017/2/21 12:44
     Re: 商品画像が消えてしまいます nekochan 2017/2/21 16:23
       Re: 商品画像が消えてしまいます umebius 2017/2/21 16:30
       Re: 商品画像が消えてしまいます umebius 2017/2/21 16:35
         Re: 商品画像が消えてしまいます nekochan 2017/2/21 19:41
           Re: 商品画像が消えてしまいます umebius 2017/2/22 12:04
             Re: 商品画像が消えてしまいます nekochan 2017/2/23 13:51
               Re: 商品画像が消えてしまいます nekochan 2017/2/28 18:56
                 Re: 商品画像が消えてしまいます umebius 2017/3/1 15:05
                 Re: 商品画像が消えてしまいます umebius 2017/3/1 16:22
                 Re: 商品画像が消えてしまいます k-yamamura 2017/3/1 16:49
                   Re: 商品画像が消えてしまいます nekochan 2017/3/2 13:18
                     Re: 商品画像が消えてしまいます umebius 2017/3/2 13:31

 



ログイン


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

統計情報

総メンバー数は89,261名です
総投稿数は110,059件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1299
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.