Ticket #2280 (closed 改善提案: 修正済)
SC_CartSession::getCartListの効率化
Reported by: | shutta | Owned by: | shutta |
---|---|---|---|
Priority: | 中 | Milestone: | EC-CUBE2.13.0 |
Component: | フロント | Version: | 2.12.4 |
Keywords: | Cc: | ||
修正済み: | yes |
Description
SC_CartSession::getCartList内の下記の部分を効率化。
for ($i = 0; $i <= $max; $i++) { if (isset($this->cartSession[$productTypeId][$i]['cart_no']) && $this->cartSession[$productTypeId][$i]['cart_no'] != '') { // 商品情報は常に取得 // TODO 同一インスタンス内では1回のみ呼ぶようにしたい $this->cartSession[$productTypeId][$i]['productsClass'] =& $objProduct->getDetailAndProductsClass($this->cartSession[$productTypeId][$i]['id']);
TODOに記載のあるように、無駄に$objProduct->getDetailAndProductsClassを読んでしまっている。
また、getCartListメソッドは各所で呼ばれており、1画面の表示中に複数回呼ばれることもあり、無駄にDBアクセスが発生している状況。
初回にセットした後は、情報を使いまわすように改良する。
Change History
Note: See
TracTickets for help on using
tickets.