EC-CUBEの2.13.3を使用しています。
受注管理画面の検索フォーム内で商品情報もヒモ付くようにカスタマイズを行いたいです。
(「dtb_order」,「dtb_order_detail」,「dtb_products」がすべてひも付くように)
そこで、data/class/pages/admin/order/LC_Page_Admin_Order.php内へ
php
1public function findOrders($where, $arrValues, $limit, $offset, $order) 2 { 3 $objQuery =& SC_Query_Ex::getSingletonInstance(); 4 if ($limit != 0) { 5 $objQuery->setLimitOffset($limit, $offset); 6 } 7 $objQuery->setOrder($order); 8 9 $from ="dtb_order AS T1 INNER JOIN dtb_order_detail AS T2 ON T1.order_id = T2.order_id"; 10 $from.=" INNER JOIN dtb_products AS T3 ON T3.product_id = T2.product_id"; 11 return $objQuery->select('*', $from, $where, $arrValues); 12 } 13 public function lfInitParam(&$objFormParam) 14 { 15 ...... 16 $objFormParam->addParam('会場', 'comment12', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 17 } 18 public function buildQuery($key, &$where, &$arrValues, &$objFormParam) 19 { 20 ...... 21 case 'comment12': 22 $where.= ' AND T3.commnet12 = ?'; 23 $arrValues[] = $objFormParam->getValue('comment12'); 24 break; 25 }
を追記し、data/Smarty/pages/templates/admin/order/index.tplへ
html
1 <tr> 2 <th>会場</th> 3 <td colspan="3"> 4 <span class="attention"><!--{$arrErr[$key]}--></span> 5 <select name="comment12"> 6 <option value="" label="----"> 7 <!--{html_options options=$arrGround }--> 8 </select> 9 </td> 10 </tr>
追記し実行しましたが、エラーになります。
エラー内容は、
error
1_doQuery: [Error message: Could not execute statement] 2[Last executed query: PREPARE mdb2_statement_mysql_1010988a4ae3f856323a3494e08397e9d88259641d FROM 'SELECT COUNT(*) FROM dtb_order AS T1 INNER JOIN dtb_order_detail AS T2 ON T1.order_id = T2.order_id INNER JOIN dtb_products AS T3 ON T3.product_id = T2.product_id WHERE T1.del_flg = 0 AND T3.commnet12 = ? '] 3[Native code: 1054]
です。
入力した値が入っていない感じがあるのですが、
$objFormParam->addParam('会場', 'comment12', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'));
が入っています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。