rts
web****@rt-s*****
2005年 6月 30日 (木) 23:28:19 JST
こんばんわ曽我部さん。 レスが遅くなってしまい大変すいません。 試行錯誤のうえ何とか実現する事ができました。 最終的にはredirect.phpを利用して表示させるようにしました。 他のケースにも応用できそうなので、非常に勉強になりました。 ありがとうございます。 -----Original Message----- From: tep-j****@lists***** [mailto:tep-j****@lists*****]On Behalf Of Seiji Sogabe Sent: Wednesday, June 22, 2005 9:38 PM To: tep-j****@lists***** Subject: [Tep-j-general] Re: 注文完了画面にURLを表示 こんばんわ、曽我部です。 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***** _______________________________________________ Tep-j-general mailing list Tep-j****@lists***** http://lists.sourceforge.jp/mailman/listinfo/tep-j-general