Seiji Sogabe
sogab****@alles*****
2005年 6月 22日 (水) 21:37:44 JST
こんばんわ、曽我部です。 rt-s wrote: > いつも大変勉強させていただき大変感謝しております。 > > 注文完了画面(checkout_success.php)に商品のURLを再度表示させたいと考えてい > ます。 > product_info.phpにて表示されるのと同じものを表示できたらと思っています。 checkout_success.phpの40行目から49行目を利用すれば楽かもしれません。 > 40 if ($global['global_product_notifications'] != '1') { > 41 $orders_query = tep_db_query("select orders_id from " . (省略) > 42 $orders = tep_db_fetch_array($orders_query); > 43 > 44 $products_array = array(); > 45 $products_query = tep_db_query("select products_id, products_name from " . (省略) > 46 while ($products = tep_db_fetch_array($products_query)) { > 47 $products_array[] = array('id' => $products['products_id'], > 48 'text' => $products['products_name']); > 49 } 41行目で、オーダの一番新しいのを取得して 45行目で、取得したオーダに含まれる商品のIDと商品名を取得しています。 とりたいのは、products_descriptionテーブルのproducts_urlですので、 45行目で使用しているクエリーを、 $products_query = tep_db_query("select op.products_id, op.products_name, pd.products_url from " . TABLE_ORDERS_PRODUCTS . " op, " . TABLE_PRODUCTS_DESCRIPTION . " pd " . "where op.orders_id = '" . $orders['orders_id'] . "' " . "and op.products_id = pd.products_id and pd.language_id = '" . $languages_id . "' order by pd.products_name"); にかえて、 47,48行目を、 $products_array[] = array('id' => $products['products_id'], 'url' => $products['products_url'], <-- ここを追加 'text' => $products['products_name']); に変更すれば、1個目の商品のURLは$products_array[0]['url']で取得できます。 40行目のif文は、お客様が「全商品についてのお知らせ」希望しない場合ということなので、 今回は、希望するしないに関わらず必要なので、削除(コメント)していいと思います。 あとは、84行目から90行目の > 84 $products_displayed = array(); > 85 for ($i=0, $n=sizeof($products_array); $i<$n; $i++) { > 86 if (!in_array($products_array[$i]['id'], $products_displayed)) { > 87 echo tep_draw_checkbox_field('notify[]', $products_array[$i]['id']) . ' ' (省略) > 88 $products_displayed[] = $products_array[$i]['id']; > 89 } > 90 } を参考にして、87行目に上記URLを表示するHTMLコードを記述すればいいと思います。 # 修正イメージだけ書いたほうが楽だ ... # 1回やり方を覚えれば後は同じなので、ゆっくり考えてみてください。 では。 -- sogab****@alles*****