バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
468
投稿日時: 2017/5/15 14:12
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
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系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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

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

他に考えられそうな部分などございますでしょうか?
お手数をおかけいたしますが、
よろしくお願いいたします。
468
投稿日時: 2017/5/15 20:28
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
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系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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

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

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

よろしくお願いいたします。
468
投稿日時: 2017/5/17 7:56
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
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系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

ma-ma
投稿日時: 2017/5/17 14:51
対応状況: −−−
常連
登録日: 2014/9/22
居住地:
投稿: 55
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
居住地:
投稿: 55
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
居住地:
投稿: 3217
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系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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

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

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


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.