バージョン選択

フォーラム

メニュー

オンライン状況

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

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > 管理機能 > v2.13 画像のアップロードにつきまして

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
468
投稿日時: 2017/5/15 14:12
対応状況: −−−
仙人
登録日: 2008/10/26
居住地:
投稿: 622
Re: v2.13 画像のアップロードにつきまして
画像データ自体は送信されているようです。

image_keyが空なのが問題と思いますが、
tplにコピーした内容で、$keyという変数が記述されている所が多数あると思いますが、
それらをmain_imageに書き換える必要があると思います。


<div style="float:left; width: 100px;">メイン画像:</div>
<span class="attention"><!--{$arrErr[mail_image]}--></span>
<!--{if $arrForm.arrFile[main_image].filepath != ""}-->
<img src="<!--{$arrForm.arrFile[main_image].filepath}-->" alt="<!--{$arrForm.name|h}-->" /> <a href="" onclick="eccube.setModeAndSubmit('delete_image', 'image_key', 'main_image'); return false;">[画像の取り消し]</a><br />
<!--{/if}-->
<input type="file" name="main_image" size="40" style="<!--{$arrErr[main_image]|sfGetErrorColor}-->" />
<a class="btn-normal" href="java script:;" name="btn" onclick="eccube.setModeAndSubmit('upload_image', 'image_key', 'main_image'); return false;">アップロード</a>


商品登録画面では、image_keyに「main_list_image」「main_image」「main_large_image」を切り替えてセットして、
登録する画像を判定していると思いますが、
カテゴリに投稿したい画像が1つだけなら、main_imageで固定してしまって問題無いと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
■360°画像ビューワーimg360
■ECCUBE技術資料blog

ma-ma
投稿日時: 2017/5/15 17:15
対応状況: −−−
常連
登録日: 2014/9/22
居住地:
投稿: 54
Re: v2.13 画像のアップロードにつきまして
468様

早々のご返信ありがとうございます!
category.tplの$keyの部分をmain_imageに変更しましたが、
データが取得できておりません。。

他に考えられそうな部分などございますでしょうか?
お手数をおかけいたしますが、
よろしくお願いいたします。
468
投稿日時: 2017/5/15 20:28
対応状況: −−−
仙人
登録日: 2008/10/26
居住地:
投稿: 622
Re: v2.13 画像のアップロードにつきまして
極端な方法かもしれませんが、
PHP側でvar_dump($_POST)を実行して、
サーバに送られてきているデータを確認されてみては如何でしょうか?
その中にimage_keyが含まれているかどうか?
含まれているのなら、main_imageがセットされているかどうか確認してみてください。
それが空の場合、tplの
<index type="hidden" name="image_key" value="">

<index type="hidden" name="image_key" value="main_image">
に書き換えても良いかもしれません。
(本当はアップロードボタンを押した時にJavascriptがvalueをセットしてくれるはずなのですが・・・)


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
■360°画像ビューワーimg360
■ECCUBE技術資料blog

ma-ma
投稿日時: 2017/5/16 22:10
対応状況: −−−
常連
登録日: 2014/9/22
居住地:
投稿: 54
Re: v2.13 画像のアップロードにつきまして
468様

ご返信ありがとうございます。
また、ご連絡が遅くなり申し訳ございません。

var_dump($_POST)をアップロード部分(case 'upload_image':)実行したところ、下記が表示されました。

-----
array(7) { ["transactionid"]=> string(40) "25186949d74a22d9355d06f60ae56cac2f805b10" ["mode"]=> string(12) "upload_image" ["parent_category_id"]=> string(1) "0" ["category_id"]=> string(0) "" ["keySet"]=> string(0) "" ["image_key"]=> string(10) "main_image" ["category_name"]=> string(0) "" }
-----

image_keyが含まれており、
main_imageがセットされている状態になっております。

大変申し訳ありませんが、その他確認する部分をご教示頂ければ幸いです。

よろしくお願いいたします。
ma-ma
投稿日時: 2017/5/16 22:19
対応状況: −−−
常連
登録日: 2014/9/22
居住地:
投稿: 54
Re: v2.13 画像のアップロードにつきまして
468様

連投で失礼いたします。
既存の商品登録の画像アップロード部分で
var_dump($_POST);で中身を表示させたところ、
["temp_main_image"]=> string(26) "05162213_591afae15f787.jpg"
という画像ファイル情報が表示されております。
私がカスタマイズしたカテゴリ登録の画像アップロードでは
画像ファイル情報がでていないのですが、
こちらは何が原因なのでしょうか?

ご質問ばかり大変恐縮ですが、
ご教示頂ければ幸いです。

よろしくお願いいたします。
468
投稿日時: 2017/5/17 7:56
対応状況: −−−
仙人
登録日: 2008/10/26
居住地:
投稿: 622
Re: v2.13 画像のアップロードにつきまして
返信ありがとうございます。
$_POSTの中身を見る限り、必要な情報が含まれているように思います。

今度は、$arrFormをvar_dump()してみていただけますか?
$arrFormは、$_POSTから処理に必要な情報だけを定義に基づいて取り出した結果が入っているはずですので、
ここにimage_keyが無い場合は、
$objFormParam->addParam('image_key', 'image_key', '', '', array());
が実行されていない可能性があります。
$objFormParam->addParam(***)←PHP内にこういった記述が沢山あると思いますが、
この記述で画面から受け取る値の定義をしています。

image_keyだけ、function lfInitFormParam_UploadImage()で定義していると思うのですが・・・。

あと、temp_main_imageは登録済画像の情報です。
(既存商品という事は、何かの画像がセットされていたのではないでしょうか?)

アップロードボタンの次のステップの登録処理の時には、
temp_main_imageが送信される必要があると思いますが、
現時点では、関係の無い項目かと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
■360°画像ビューワーimg360
■ECCUBE技術資料blog

ma-ma
投稿日時: 2017/5/17 14:51
対応状況: −−−
常連
登録日: 2014/9/22
居住地:
投稿: 54
Re: v2.13 画像のアップロードにつきまして
468様

ご返信ありがとうございます。
また、わかりやすい解説ありがとうございます!

var_dump($arrForm);
の結果は下記となります。
(switch ($mode) {の一番最後の行にvar_dump($arrForm);を追記した結果となります。)
※$this->tpl_onload = $anchor_hash;の下の行に追加。
----------
array(95) { ["parent_category_id"]=> string(1) "0" ["category_id"]=> NULL ["category_name"]=> string(0) "" ["main_image"]=> string(0) "" ["sub_image"]=> string(0) "" ["seller"]=> string(0) "" ["age"]=> string(0) "" ["profession"]=> string(0) "" ["birthday"]=> string(0) "" ["three_size"]=> string(0) "" ["list_comment"]=> string(0) "" ["main_comment"]=> string(0) "" ["image_key"]=> string(10) "main_image" ["product_id"]=> string(0) "" ["name"]=> string(0) "" ["status"]=> int(2) ["product_status"]=> string(0) "" ["product_type_id"]=> int(1) ["down_filename"]=> string(0) "" ["down_realfilename"]=> string(0) "" ["temp_down_file"]=> string(0) "" ["save_down_file"]=> string(0) "" ["product_code"]=> string(0) "" ["price01"]=> string(0) "" ["price02"]=> string(0) "" ["stock"]=> string(0) "" ["stock_unlimited"]=> string(0) "" ["deliv_fee"]=> string(0) "" ["point_rate"]=> string(0) "" ["deliv_date_id"]=> string(0) "" ["sale_limit"]=> string(0) "" ["maker_id"]=> string(0) "" ["comment1"]=> string(0) "" ["comment3"]=> string(0) "" ["note"]=> string(0) "" ["main_list_comment"]=> string(0) "" ["save_main_list_image"]=> string(0) "" ["save_main_image"]=> string(0) "" ["save_main_large_image"]=> string(0) "" ["temp_main_list_image"]=> string(0) "" ["temp_main_image"]=> string(0) "" ["temp_main_large_image"]=> string(0) "" ["sub_title1"]=> string(0) "" ["sub_comment1"]=> string(0) "" ["save_sub_image1"]=> string(0) "" ["save_sub_large_image1"]=> string(0) "" ["temp_sub_image1"]=> string(0) "" ["temp_sub_large_image1"]=> string(0) "" ["sub_title2"]=> string(0) "" ["sub_comment2"]=> string(0) "" ["save_sub_image2"]=> string(0) "" ["save_sub_large_image2"]=> string(0) "" ["temp_sub_image2"]=> string(0) "" ["temp_sub_large_image2"]=> string(0) "" ["sub_title3"]=> string(0) "" ["sub_comment3"]=> string(0) "" ["save_sub_image3"]=> string(0) "" ["save_sub_large_image3"]=> string(0) "" ["temp_sub_image3"]=> string(0) "" ["temp_sub_large_image3"]=> string(0) "" ["sub_title4"]=> string(0) "" ["sub_comment4"]=> string(0) "" ["save_sub_image4"]=> string(0) "" ["save_sub_large_image4"]=> string(0) "" ["temp_sub_image4"]=> string(0) "" ["temp_sub_large_image4"]=> string(0) "" ["sub_title5"]=> string(0) "" ["sub_comment5"]=> string(0) "" ["save_sub_image5"]=> string(0) "" ["save_sub_large_image5"]=> string(0) "" ["temp_sub_image5"]=> string(0) "" ["temp_sub_large_image5"]=> string(0) "" ["recommend_comment1"]=> string(0) "" ["recommend_id1"]=> string(0) "" ["recommend_delete1"]=> string(0) "" ["recommend_comment2"]=> string(0) "" ["recommend_id2"]=> string(0) "" ["recommend_delete2"]=> string(0) "" ["recommend_comment3"]=> string(0) "" ["recommend_id3"]=> string(0) "" ["recommend_delete3"]=> string(0) "" ["recommend_comment4"]=> string(0) "" ["recommend_id4"]=> string(0) "" ["recommend_delete4"]=> string(0) "" ["recommend_comment5"]=> string(0) "" ["recommend_id5"]=> string(0) "" ["recommend_delete5"]=> string(0) "" ["recommend_comment6"]=> string(0) "" ["recommend_id6"]=> string(0) "" ["recommend_delete6"]=> string(0) "" ["copy_product_id"]=> string(0) "" ["has_product_class"]=> string(0) "" ["product_class_id"]=> string(0) "" ["arrHidden"]=> array(1) { ["temp_main_image"]=> string(26) "05171436_591be1703475c.jpg" } ["arrFile"]=> array(1) { ["main_image"]=> array(5) { ["filepath"]=> string(45) "/upload/temp_image/05171436_591be1703475c.jpg" ["real_filepath"]=> string(73) "/virtual/htdocs/diaglory.com/upload/temp_image/05171436_591be1703475c.jpg" ["width"]=> int(130) ["height"]=> int(130) ["disp_name"]=> string(15) "メイン画像" } } }
----------

image_keyは入っていますが、いかがでしょうか?


>あと、temp_main_imageは登録済画像の情報です。
>(既存商品という事は、何かの画像がセットされていたのではないでしょうか?)
>アップロードボタンの次のステップの登録処理の時には、
>temp_main_imageが送信される必要があると思いますが、
>現時点では、関係の無い項目かと思います。
はい。
アップロードボタンを押したときに表示されました。
私がカスタマイズしたカテゴリー部分では、
アップロードボタンを押したときには出てこなかったので、
何か間違っているのかとおもいました。

お手数をおかけいたしますが、よろしくお願いいたします。
ma-ma
投稿日時: 2017/5/18 18:32
対応状況: −−−
常連
登録日: 2014/9/22
居住地:
投稿: 54
Re: v2.13 画像のアップロードにつきまして
468様

お世話になります。
画像登録のけんですが、
category.tplに
<!--{assign var=key value="main_image"}-->がなかったため、
こちらを追記したところ、temp_imageに画像が登録できました。

いろいろと教えて頂き大変ありがとうございました!

ただ、DBの登録の部分で下記エラーが発生していました。。。
大変申し訳ありませんが、どの部分が悪いのかご教示・アドバイス頂けると幸いです。

よろしくお願いいたします。
-----
▼▼▼ デバッグ情報ここから ▼▼▼

https://diaglory.com/kanri/products/category.php?

SERVER_ADDR: 10.0.3.92
REMOTE_ADDR: 118.11.105.48
USER_AGENT: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0

Fatal error(E_USER_ERROR): DB処理でエラーが発生しました。
SQL: [PREPARE mdb2_statement_mysql_138a227b16ae330c05202d4200d55fd3f3c73dc0ac FROM 'INSERT INTO dtb_category(image_key,save_main_image,temp_main_image,parent_category_id,category_id,category_name,main_image,sub_image,seller,age,profession,birthday,three_size,list_comment,main_comment,create_date,update_date,creator_id,rank,level) SELECT ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,?,?,?']
PlaceHolder: [array (
0 => '',
1 => '',
2 => '05181830_591d69b82687c.jpg',
3 => '0',
4 => '37',
5 => 'テスト',
6 => '',
7 => '',
8 => '',
9 => '',
10 => '',
11 => '',
12 => '',
13 => '',
14 => '',
15 => '2',
16 => 8,
17 => 1,
)]
MDB2 Error: no such field
_doQuery: [Error message: Could not execute statement]
[Last executed query: EXECUTE mdb2_statement_mysql_138a227b16ae330c05202d4200d55fd3f3c73dc0ac USING @0, @1, @2, @3, @4, @5, @6, @7, @8, @9, @10, @11, @12, @13, @14, @15, @16, @17]
[Native code: 1054]
[Native message: Unknown column 'image_key' in 'field list']
on [/virtual/htdocs/diaglory.com/data/class/SC_Query.php(1095)]
/virtual/htdocs/diaglory.com/kanri/products/category.php(29): LC_Page_Admin_Products_Category_Ex->process
/virtual/htdocs/diaglory.com/data/class_extends/page_extends/admin/products/LC_Page_Admin_Products_Category_Ex.php(54): LC_Page_Admin_Products_Category->process
/virtual/htdocs/diaglory.com/data/class/pages/admin/products/LC_Page_Admin_Products_Category.php(67): LC_Page_Admin_Products_Category->action
/virtual/htdocs/diaglory.com/data/class/pages/admin/products/LC_Page_Admin_Products_Category.php(99): LC_Page_Admin_Products_Category->doEdit
/virtual/htdocs/diaglory.com/data/class/pages/admin/products/LC_Page_Admin_Products_Category.php(639): LC_Page_Admin_Products_Category->registerCategory
/virtual/htdocs/diaglory.com/data/class/pages/admin/products/LC_Page_Admin_Products_Category.php(864): SC_Query->insert
/virtual/htdocs/diaglory.com/data/class/SC_Query.php(575): SC_Query->query
/virtual/htdocs/diaglory.com/data/class/SC_Query.php(873): SC_Query->execute
/virtual/htdocs/diaglory.com/data/class/SC_Query.php(1056): SC_Query->error
/virtual/htdocs/diaglory.com/data/class/SC_Query.php(1095): trigger_error

▲▲▲ デバッグ情報ここまで ▲▲▲
-----
468
投稿日時: 2017/5/19 5:32
対応状況: −−−
仙人
登録日: 2008/10/26
居住地:
投稿: 622
Re: v2.13 画像のアップロードにつきまして
SQLの結果、dtb_categoryテーブルにimage_keyカラムが存在していないというエラーが出ているように見受けられますが、
dtb_categoryテーブルに対して、画像のファイル名を保存するカラムを追加していますか?
テーブル構造も自分で追加する必要がありますので、
dtb_productsを参考にテーブルにカラムを追加してください。
(dtb_productsテーブルのmain_image等が画像のファイル名を格納しているカラムになります)

あと、実行されているSQLを見ると、
image_key,
save_main_image,
temp_main_image 等、不要な情報もデータベースに格納しようとしているように思えますので、
LC_Page_Admin_Products_Product.phpのlfRegistProduct()のように
SQLの対象データを調整する必要があるかと思います。
($sqlvalでSQLの項目を調整しています)

カテゴリ登録だと、registerCategory()やupdateCategory()がSQLを準備している所だと思いますが、
arrFormの項目を全てSQLに利用しようとしていますので、
画像登録処理にのみ利用する値などは無視するように修正が必要です。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
■360°画像ビューワーimg360
■ECCUBE技術資料blog

ma-ma
投稿日時: 2017/5/22 17:13
対応状況: −−−
常連
登録日: 2014/9/22
居住地:
投稿: 54
Re: v2.13 画像のアップロードにつきまして
468 様

ご連絡ありがとうございます。
わかりやすいご説明ありがとうございます。
データベースのカラム追加、
SQLの調整を行ってみます。
また、改めてご連絡させて頂きます。

よろしくお願いいたします。
« 1 (2) 3 4 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

 



ログイン


EC-CUBEペイメント

クレジットカード情報の非保持化対応

統計情報

総メンバー数は19,631名です
総投稿数は82,126件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1632
4
yuh
1366
5
red
1059
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
782
10
umebius
671
11
tao_s
646
12 sumida 638
13
homan
633
14
468
622
15 karin 609
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

EC-CUBEガイドブック
Copyright© LOCKON CO.,LTD. All Rights Reserved.