質問 > 管理機能 > [メール履歴の表示方法] 受注履歴編集ページについて |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yuta |
投稿日時: 2009/3/5 16:05
対応状況: −−−
|
常連 登録日: 2009/1/15 居住地: 投稿: 54 |
[メール履歴の表示方法] 受注履歴編集ページについて こんにちは。
受注履歴編集ページのカスタマイズを行っていてわからないことがありましたので質問させてください。 デフォルトの管理画面では、 受注管理⇒通知⇒メール配信 [ data/Smarty/templates/default/admin/order/mail.tpl ] の画面で、これまでに配信したメールの履歴が見ることができますが、これを 受注管理⇒編集⇒受注履歴編集 [ data/Smarty/templates/default/admin/order/edit.tpl ] のページでも表示させたいと思っています。 data/Smarty/templates/default/admin/order/mail.tpl にある送信履歴を表示させている部分のsection -------------------------------------- <!--{section name=cnt loop=$arrMailHistory}--> <tr align="center"> <td bgcolor="#ffffff" width="140" class="fs12n"><!--{$arrMailHistory[cnt].send_date|sfDispDBDate|escape}--></td> <!--{assign var=key value="`$arrMailHistory[cnt].template_id`"}--> <td bgcolor="#ffffff" width="300" class="fs12n"><!--{$arrMAILTEMPLATE[$key]|escape}--></td> <td bgcolor="#ffffff" width="300" class="fs12n"><a href="<!--{$smarty.server.PHP_SELF|escape}-->" onclick="win01('./mail_view.php?send_id=<!--{$arrMailHistory[cnt].send_id}-->','mail_view','650','800'); return false;"><!--{$arrMailHistory[cnt].subject|escape}--></a></td> </tr> <!--{/section}--> -------------------------------------- を data/Smarty/templates/default/admin/order/edit.tpl に組み込んで見ましたが何も表示されませんでした。 おそらく各注文のIDをどこかに指定したりしなければいけないのかな?と思っているのですがなかなか答えが見えません。 ご存知の方いらしたら是非教えてくださいますでしょうか? smartyの勉強と平行しつつカスタマイズを行っているので的外れなことを行っているかもしれませんがどうぞよろしくお願いいたします。 |
leoism |
投稿日時: 2009/3/5 16:32
対応状況: −−−
|
常連 登録日: 2008/8/26 居住地: 投稿: 60 |
Re: 受注履歴の編集ページについて 僕もPHP,Smartyを勉強中で、ずばりの回答ではないので恐縮ですが、
data/class/pages/admin/order/LC_Page_Admin_Order_Mail.php の140行目あたりに $objQuery = new SC_Query(); $col = "send_date, subject, template_id, send_id"; $where = "order_id = ?"; $objQuery->setorder("send_date DESC"); if(SC_Utils_Ex::sfIsInt($_POST['order_id'])) { $this->arrMailHistory = $objQuery->select($col, "dtb_mail_history", $where, array($_POST['order_id'])); } この記述をみつけました。 テンプレートでMailHistoryを読み込んでいるようなので、 data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php にも、同じようにデータベースから読み込む記述が必要なのでは と思います。 確実な回答でないので申し訳ないですが、解決の糸口になれば とおもいます。 |
yuta |
投稿日時: 2009/3/5 17:18
対応状況: −−−
|
常連 登録日: 2009/1/15 居住地: 投稿: 54 |
Re: 受注履歴の編集ページについて 早速のアドバイス有り難うございます!
data/class/pages/admin/order/LC_Page_Admin_Order_Mail.php data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php を触らなくてはいけなかったのですね! 早速両方を見比べてみて、 ---------------------- $objQuery = new SC_Query(); $col = "send_date, subject, template_id, send_id"; $where = "order_id = ?"; $objQuery->setorder("send_date DESC"); if(SC_Utils_Ex::sfIsInt($_POST['order_id'])) { $this->arrMailHistory = $objQuery->select($col, "dtb_mail_history", $where, array($_POST['order_id'])); } $this->arrForm = $objFormParam->getFormParamList(); $objView->assignobj($this); $objView->display(MAIN_FRAME); ------------------------------ を data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php のをそれらしい部分 <<ここ>> に挿入してみました ------------------ /** * Page のプロセス. * * @return void */ function process() { $conn = new SC_DBConn(); $objView = new SC_AdminView(); $objSess = new SC_Session(); $objSiteInfo = new SC_SiteInfo(); $objDb = new SC_Helper_DB_Ex(); $arrInfo = $objSiteInfo->data; ////省略 //// $objView->assignobj($this); // 表示モード判定 if(!$this->disp_mode) { $objView->display(MAIN_FRAME); } else { $objView->display('order/disp.tpl'); } <<ここ>> } /** * デストラクタ. * @return void */ /////省略//// ------------------ が、やっぱり動きませんでした・・・ もうちょっと調べてみます! |
ゲスト |
投稿日時: 2009/3/6 2:14
対応状況: −−−
|
Re: 受注履歴の編集ページについて LC_Page_Admin_Order_Edit.phpを編集するとアップデートのときに問題がおこる可能性があるので、LC_Page_Admin_Order_Edit_Ex.phpを編集した方がいいですよ。
data/class_extends/pages_extends/admin/order/LC_Page_Admin_Order_Edit_Ex.php function init() { parent::init(); $masterData = new SC_DB_MasterData_Ex(); $this->arrMAILTEMPLATE = $masterData->getMasterData("mtb_mail_template"); } function process() { // parent::process(); $conn = new SC_DBConn(); $objView = new SC_AdminView(); $objSess = new SC_Session(); $objSiteInfo = new SC_SiteInfo(); $objDb = new SC_Helper_DB_Ex(); $arrInfo = $objSiteInfo->data; ////省略 //// /*** メールの履歴表示 ***/ $objQuery = new SC_Query(); $col = "send_date, subject, template_id, send_id"; $where = "order_id = ?"; $objQuery->setorder("send_date DESC"); if(SC_Utils_Ex::sfIsInt($_POST['order_id'])) { $this->arrMailHistory = $objQuery->select($col, "dtb_mail_history", $where, array($_POST['order_id'])); } /*** メールの履歴表示:終了 ***/ $objView->assignobj($this); // 表示モード判定 if(!$this->disp_mode) { $objView->display(MAIN_FRAME); } else { $objView->display('order/disp.tpl'); } } data/Smarty/templates/default/admin/order/edit.tplの適当なところに入れる。 <table width="678" border="0" cellspacing="1" cellpadding="5" summary=" "> <tr align="center"> <td bgcolor="#f2f1ec" width="140" class="fs12n">処理日</td> <td bgcolor="#f2f1ec" width="300" class="fs12n">通知メール</td> <td bgcolor="#f2f1ec" width="300" class="fs12n">件名</td> </tr> <!--{section name=cnt loop=$arrMailHistory}--> <tr align="center"> <td bgcolor="#ffffff" width="140" class="fs12n"><!--{$arrMailHistory[cnt].send_date|sfDispDBDate|escape}--></td> <!--{assign var=key value="`$arrMailHistory[cnt].template_id`"}--> <td bgcolor="#ffffff" width="300" class="fs12n"><!--{$arrMAILTEMPLATE[$key]|escape}--></td> <td bgcolor="#ffffff" width="300" class="fs12n"><a href="<!--{$smarty.server.PHP_SELF|escape}-->" onclick="win01('./mail_view.php?send_id=<!--{$arrMailHistory[cnt].send_id}-->','mail_view','650','800'); return false;"><!--{$arrMailHistory[cnt].subject|escape}--></a></td> </tr> <!--{/section}--> </table> これで、表示されると思います。 |
|
yuta |
投稿日時: 2009/3/6 10:09
対応状況: −−−
|
常連 登録日: 2009/1/15 居住地: 投稿: 54 |
Re: 受注履歴の編集ページについて >jazz4no さん
ありがとうございます!! 無事に表示できました!!! >LC_Page_Admin_Order_Edit.phpを編集するとアップデートのときに問題がおこる可能性があるので、LC_Page_Admin_Order_Edit_Ex.phpを編集した方がいいですよ。 そうなのですね、こちらのサイトでも.....Exを編集していたので意味が良くわからないまままねしていたのですが、Exファイルはオリジナルに自分で機能を追加するためのファイルなのですね。勉強になりました。 eccubeの学校 http://www.eccube-school.jp/products/detail43.html# これでEC-CUBEの少し仕組みがわかったような気がします。 楽天の受注システムにあってEC-CUBEにないような部分もうまく取り込めるように工夫してみます。 今回の件を応用して、受注一覧の部分で [サンクスメール送信済みアイコン] [発送メール送信済みアイコン] などを表示できるように頑張ってみます! leoismさん、jazz4noさん、本当に有り難うございました! 今後ともどうぞアドバイスよろしくお願いします。 |
Arcaim |
投稿日時: 2010/6/8 13:35
対応状況: −−−
|
常連 登録日: 2009/10/23 居住地: 投稿: 34 |
Re: 受注履歴の編集ページについて こんにちは
ここのスレッドを見まして受注編集画面ではうまく出来ました。 通知履歴の最新情報を取得する為、tplファイルの <!--{section name=cnt loop=$arrMailHistory}--> の所を <!--{section name=cnt loop=$arrMailHistory max=1}--> とす事によって最新の通知一件を表示する事に成功しましたが、 どうしても以下質問の受注検索の方ではうまく動作出来ません。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=6185&forum=11 何かヒントでもあればと思っております。 よろしくお願い致します。 EC-CUBEバージョン 2.4.3 PHPバージョン PHP 5.1.6 DBバージョン PostgreSQL 8.3.11 |
AMUAMU |
投稿日時: 2010/6/8 14:39
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: 受注履歴の編集ページについて マルチポストのため、誘導。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=6185&forum=11 一つ前の質問へのレスは上記にてお願いします。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |