機能要望 > 管理機能 > ステータス管理サブナビに人数を表示 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
reh |
投稿日時: 2010/2/22 13:29
対応状況: −−−
|
半人前 登録日: 2010/1/21 居住地: 投稿: 18 |
ステータス管理サブナビに人数を表示 いつもお世話になっております。
受注管理のステータス管理サブナビにステータス毎に人数を表示できれば便利だと思い、どう書けばいいのか考えてみたのですが、 そもそもIDで管理しているステータスの各IDの数を抽出することは可能なのでしょうか? ド素人の質問で申し訳ありません。 もし可能なのでしたらどなたかご教授願えませんでしょうか。。 宜しくお願い致します。 |
seasoft |
投稿日時: 2010/2/22 22:55
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ステータス管理サブナビに人数を表示 若干の負荷は加わりますが、可能なはずですよ。
ロジックとしては、ページナビ(ページ数切り替え)の部分が参考になると思います。 表示中のステータスのみをカウントする作りになっていると思いますが(ソース未確認)、全ステータス分を回せば取得できると思います。
|
reh |
投稿日時: 2010/2/23 11:38
対応状況: −−−
|
半人前 登録日: 2010/1/21 居住地: 投稿: 18 |
Re: ステータス管理サブナビに人数を表示 seasoft様
いつもありがとうございます。 色々と探ってみたのですが、 <!--{$tpl_linemax}-->をサブナビに追加するだけではやはり各ステータスに入ったときにすべて同じ数が表示されるだけでした。 全ステータス分を回す、というのはどのようにすればいいのでしょうか? (<!--{foreach key=key item=item from=$arrORDERSTATUS}-->をつかって各ステータスの{$tpl_linemax}を読み込む、のかな?と思いつつもどうすればいいのかさっぱりです。(見当違いでしたら申し訳ありません;)) 無知で申し訳ありません。教えていただければ幸いです。 宜しくお願い致します。 |
seasoft |
投稿日時: 2010/2/25 12:56
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ステータス管理サブナビに人数を表示 そういえば、正式版だと、サブナビで表示していましたね。
EC-CUBEコミュニティ(eccube-comu) ですと、メイン部で表示しているので、1つのページクラスでの処理で書けそうなのですが、正式版だと共通処理に書く必要がありますね。 いずれにしても、テンプレート上の記述だけでは駄目で、*.php のロジックを追加する必要があります。
|
reh |
投稿日時: 2010/2/26 15:36
対応状況: −−−
|
半人前 登録日: 2010/1/21 居住地: 投稿: 18 |
Re: ステータス管理サブナビに人数を表示 お返事ありがとうございます。
う〜ん、やはり素人にはなかなか難しい変更なのでしょうか。。 前回のように動かない!というわけではないので少しづつ知識をためてチャレンジしてみようと思います。 ありがとうございました^^* |
DELIGHT |
投稿日時: 2010/2/26 18:02
対応状況: −−−
|
仙人 登録日: 2010/2/3 居住地: 熊本県・九州・長野県・関東甲信越 投稿: 572 |
Re: ステータス管理サブナビに人数を表示 以下のような感じのコードを
LC_Page_Admin_Order_Status.php に追加すればステータスごとの件数を取得できると思います。 (あくまで例です)
確認環境 EC-CUBEバージョン 2.4.2 PHPバージョン PHP 5.2.10 DBバージョン PostgreSQL 8.4.0,
|
reh |
投稿日時: 2010/3/1 17:19
対応状況: −−−
|
半人前 登録日: 2010/1/21 居住地: 投稿: 18 |
Re: ステータス管理サブナビに人数を表示 ありがとうございます!
早速LC_Page_Admin_Order_Status.phpに追加し、 tplに<!--{$tpl_statuscnt}-->と書いてみましたが、 Arrayとなり表示できませんでした。 LC_Page_Admin_Order_Status.php内の <省略> //ステータス一覧の表示 function lfStatusDisp($status,$pageno){ //各ステータスの人数をサブナビに表示 $objQuery = new SC_Query(); $select ="status, count(*) AS cnt "; $from = "dtb_order"; $where = "del_flg = 0 "; $objQuery->setgroupby("status"); $ret = $objQuery->select($select, $from, $where, array()); foreach($ret as $key=>$val ){ $param[$val['status']] = $val['cnt']; } $this->tpl_statuscnt = $param; //ここからステータス一覧の表示元 $objQuery = new SC_Query(); $select ="*"; $from = "dtb_order"; $where = "del_flg = 0 AND status = ?"; $arrval[] = $status; $order = "order_id DESC"; <省略> ・・といった風にステータス一覧の表示のなかに追加してしまったのがいけなかったのでしょうか・・? php知識が皆無で右往左往しております。 初歩的な質問かと思いますが、ご教授願えれば幸いです><; |
DELIGHT |
投稿日時: 2010/3/1 18:15
対応状況: −−−
|
仙人 登録日: 2010/2/3 居住地: 熊本県・九州・長野県・関東甲信越 投稿: 572 |
Re: ステータス管理サブナビに人数を表示 例題として提示したコードですと、
tpl_statuscnt[ステータス] = 人数 とセットされるはずです。 なので、たとえば表示側(subnavi.tpl <!--{$item}-->(<!--{$tpl_statuscnt[$key]}-->) とすれば表示されると思います。 テンプレート側で、<--{$tpl_statuscnt|@print_r}-->とすると、 tpl_statuscntの中身が確認できますよ。
|
reh |
投稿日時: 2010/3/2 9:58
対応状況: −−−
|
半人前 登録日: 2010/1/21 居住地: 投稿: 18 |
Re: ステータス管理サブナビに人数を表示 <!--{$tpl_statuscnt[$key]}-->で表示することができました!
本当に助かりました、ありがとうございます |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |