[Tep-j-general] 商品画像の追加モジュール組み込みに関して

アーカイブの一覧に戻る

Murakami Kazuhiro kazuhiro_murak****@ybb*****
2006年 9月 21日 (木) 08:07:44 JST


昨日に続き、みなさんの助けをかりたく
メールいたします、ムラカミです。

1つの商品に対して、複数の画像が欲しいとの要望で、
追加モジュールを組み込んだのですが、
うまく動作しておりません。

使っているのは、
秀和システム「osCommerceによるオンラインショップ構築テクニック」
に付属でついているものです。
ちなみに、OSC本体(osCommerce 2.2-MS1)も当書籍のものを使用しています。

admin側の
画像追加&削除機能は働いているのですが、
追加または削除し、確認ボタンを押したら、
表示がうまく切り替わりません。
正常動作ならば、header()でcategories.phpに戻るはずなのですが。
(右メニューは表示されます。)

ソースを追った結果、
admin/categories.phpの中で、
$pIDに値が入っていないことがわかりました。
その結果、switch文でactionごとで処理がわけられている箇所の
$contents[]に所望の値が入らず、postがうまく機能していないようです。
ブラウザのアドレスパーには、
admin/categories.php?action=add_images&cPath=2_19&pID=
のように表示されます。

しかしながら、この$pIDは追加機能以外の部分では、
きちんと認識しています。

以上のことだけではわかりにくいとので、
追加したソースの一部を記載させていただきます。

きちんと伝わるか自信がありませんが、
商品画像の追加モジュールを使用されている方など
いらっしゃいましたら、ご指南いただけないでしょうか。

-----elseif が続く場所に次のようなものを追加(一部のみ)----
//      case 'add_images':
   } elseif ($HTTP_GET_VARS['action'] == 'add_images') {
         $additional_images_id = 
tep_db_prepare_input($HTTP_POST_VARS['additional_images_id']);
         $back_page = $HTTP_GET_VARS['pID'];

         $sql_data_array = array('products_id' => 
tep_db_prepare_input($HTTP_POST_VARS['products_id']),
                                 'images_description' => 
tep_db_prepare_input($HTTP_POST_VARS['images_description']),
                                 'medium_images' => 
(($HTTP_POST_VARS['medium_images'] == 'none') ? '' : 
tep_db_prepare_input($HTTP_POST_VARS['medium_images'])),
                                 'popup_images' => 
(($HTTP_POST_VARS['popup_images'] == 'none') ? '' : 
tep_db_prepare_input($HTTP_POST_VARS['popup_images'])));

         tep_db_perform(TABLE_ADDITIONAL_IMAGES, $sql_data_array);
         $additional_images_id = tep_db_insert_id();

-----witch文の中の条件の追加(一部のみ)----
       case 'new_images':
         $heading[] = array('text' => '<b>' . 
TEXT_INFO_HEADING_NEW_IMAGES . '</b>');

         $contents = array('form' => tep_draw_form('newimages', 
FILENAME_CATEGORIES, 'action=add_images&cPath=' . $cPath . '&pID=' . 
$products['products_id'], 'post', 'enctype="multipart/form-data"'));
         $contents[] = array('text' => TEXT_NEW_IMAGES_INTRO);
         $contents[] = array('text' => 
tep_draw_hidden_field('products_id', $HTTP_GET_VARS['pID']));
         $contents[] = array('text' => '<br>' . 
TEXT_PRODUCTS_IMAGES_DESC . '<br>' . 
tep_draw_input_field('images_description'));
         $contents[] = array('text' => '<br>' . TEXT_PRODUCTS_IMAGES_NEW 
. '<br>' . tep_draw_file_field('medium_images'));
         $contents[] = array('text' => '<br>' . 
TEXT_PRODUCTS_IMAGES_NEWPOP . '<br>' . 
tep_draw_file_field('popup_images'));
         $contents[] = array('align' => 'center', 'text' => '<br>' . 
tep_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . 
tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . 
$HTTP_GET_VARS['pID']) . '">' . tep_image_button('button_cancel.gif', 
IMAGE_CANCEL) . '</a>');
         break;







Tep-j-general メーリングリストの案内
アーカイブの一覧に戻る