> フロント機能 > 規格のプルダウン表示順序について |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
waiya |
投稿日時: 2016/6/16 5:54
対応状況: −−−
|
半人前 登録日: 2009/5/29 居住地: 大阪市 投稿: 13 |
Re: 規格のプルダウン表示順序について DELIGHTさんご解説いただきありがとうございます!
確かにマッピングでデータベースアクセス時にソートができれば一番よいですね.....今回はお教えいただいた箇所を参考にして下記の箇所にusortを追加することでフロント側の表示はうまくいきました。 https://github.com/EC-CUBE/ec-cube/blob/3.0.10/src/Eccube/Entity/Product.php#L100 if ($ProductClass->getClassCategory1()) { $classCategoryId1 = $ProductClass->getClassCategory1()->getId(); if (!empty($classCategoryId1)) { //規格1ランク用の配列を取得 $cc_rank_1[$ProductClass->getClassCategory1()->getName()] = $ProductClass->getClassCategory1()->getRank(); $this->classCategories1[$ProductClass->getClassCategory1()->getId()] = $ProductClass->getClassCategory1()->getName(); if ($ProductClass->getClassCategory2()) { //規格2ランク用の配列を取得 $cc_rank_2[$ProductClass->getClassCategory2()->getName()] = $ProductClass->getClassCategory2()->getRank(); $this->classCategories2[$ProductClass->getClassCategory1()->getId()][$ProductClass->getClassCategory2()->getId()] = $ProductClass->getClassCategory2()->getName(); } } } [ループが終わった後に] // 規格1のソート uasort($this->classCategories1,function($a, $b) use($cc_rank_1){ if($cc_rank_1[$a] == $cc_rank_1[$b]) return 0; return $cc_rank_1[$a] < $cc_rank_1[$b]; }); // 規格2のソート if ($ProductClass->getClassCategory2()) { uasort($this->classCategories2,function($a, $b) use($cc_rank_2){ if($cc_rank_2[$a] == $cc_rank_2[$b]) return 0; return $cc_rank_2[$a] < $cc_rank_2[$b]; }); } あまりスマートではありませんが、これで様子を見ていきます。 もし、不具合などあればまた記載します。 これをもって一旦解決済みとさせていただきます。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
規格のプルダウン表示順序について | waiya | 2016/6/15 19:13 |
Re: 規格のプルダウン表示順序について | DELIGHT | 2016/6/15 20:15 |
Re: 規格のプルダウン表示順序について | DELIGHT | 2016/6/15 20:36 |
Re: 規格のプルダウン表示順序について | DELIGHT | 2016/6/15 20:44 |
» Re: 規格のプルダウン表示順序について | waiya | 2016/6/16 5:54 |