質問 > 管理機能 > 商品画像が外部パス(http://を含んだパス)の場合、管理画面から修正できないのはなぜ? |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
takeo |
投稿日時: 2017/7/30 18:36
対応状況: −−−
|
半人前 登録日: 2015/1/12 居住地: 投稿: 18 |
商品画像が外部パス(http://を含んだパス)の場合、管理画面から修正できないのはなぜ? EC-CUBE 3.0.14
PHP Version 5.6.31 DBサーバー PostgreSQL 8.4 以前に教えて頂いた https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=19260&forum=10 で外部パスの画像でも画面に表示が無事出来るようになりましたので、商品データをCSVで一括登録。 あとから【画像が外部パスになっている商品のデータを編集】しようとすると、管理画面 admin/product/product/商品ID/edit にて、データ項目を修正、【商品を登録】ボタンを押すと PHPにてエラーが発生し、修正することが出来ず困っております。 【PHPエラーログより】 PHP Fatal error: Call to a member function setRank() on null in (インストールディレクトリ)/src/Eccube/Controller/Admin/Product/ProductController.php on line 437 データ項目は、同管理画面において、どの項目を修正しようとしても同様のエラーとなります。 通常の http://を含んでない商品画像の商品については、問題なく管理画面から修正できております。 どうしてなのか、どのようにすると良いのか、お知恵を貸して頂きたくお願いいたします。 【参考:管理画面における商品画像が外部パスの場合でも対応させるため変更した template/admin/Product/product.twig の箇所】 {% for image in form.images %} var image_filename ="{{ image.vars.value }}" if(image_filename.indexOf('http://') != -1) { var $img = $(proto_img.replace(/__path__/g, '{{ image.vars.value }}')); } else { var $img = $(proto_img.replace(/__path__/g, '{{ app.config.image_save_urlpath }}/{{ image.vars.value }}')); } var $widget = $('{{ form_widget(image) }}'); $widget.val('{{ image.vars.value }}'); $("#thumb").append($img.append($widget)); {% endfor %} |
umebius |
投稿日時: 2017/7/31 23:43
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 商品画像が外部パス(http://を含んだパス)の場合、管理画面から修正できないのはなぜ? エラーが出ているのは下記コード周辺かと思います。(おそらく)
要は$ProductImageがfindOneByで取得できないことが直接の原因ですので、rank設定ができなくていいなら次のように書き換えては?
他にも色々と問題は出てきそうな気がしますね。
|
takeo |
投稿日時: 2017/8/2 19:11
対応状況: −−−
|
半人前 登録日: 2015/1/12 居住地: 投稿: 18 |
Re: 商品画像が外部パス(http://を含んだパス)の場合、管理画面から修正できないのはなぜ? ありがとうございます!
早速試してみたところ、 画像が1つだけの時は【削除】出来るのですが、 画像が複数の時は削除してくれない (【登録が完了しました。】とは出るのですが、 画像が画面上で削除されていない。(データベースにも残ったまま。)) そんな状況でおります。 上記は、通常の http://を含んでない商品画像(複数の画像が登録されている商品)についても同様です。 たぶん、 ->findOneBy(array( 'file_name' => $filename, 'Product' => $Product, の部分の array で複数登録してるのかな、と思うのですが、 どのように上記を書き換えると良いか、ご教示お願いいたします。 |
takeo |
投稿日時: 2017/8/3 18:25
対応状況: −−−
|
半人前 登録日: 2015/1/12 居住地: 投稿: 18 |
Re: 商品画像が外部パス(http://を含んだパス)の場合、管理画面から修正できないのはなぜ? お陰様でたった今、上手く動作させることが出来たので報告させて頂きます!
をコメントアウトし、
としたあと、直下にある
をコメントアウト。 そうすると、複数画像があるときでも画像の削除が行え、他の全ての項目が変更可能な状態に、今のところ一応なりました! 使用しているうちに不具合が出た場合には、またご報告させて頂きます。 それにしても、 setRank() で登録している rank は、何のランクなんでしょうか? |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |