質問 > フロント機能 > 商品一覧ページで商品コードで並び替え |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
noob01 |
投稿日時: 2016/10/6 18:16
対応状況: −−−
|
新米 登録日: 2016/10/6 居住地: 投稿: 4 |
商品一覧ページで商品コードで並び替え 初心者で申し訳ございません。
商品一覧ページで商品コードproduct_codeで並び替えたいのですが、 ProductRepository.phpに 以下のように追加してもシステムエラーになってしまいます。 どうすればよろしいでしょうか。 } else if (!empty($searchData['orderby']) && $searchData['orderby']->getId() == '3') { $qb->orderBy('p.product_code', 'DESC'); EC-CUBE3.0.10 MySQL 5.5.45 |
hiroo |
投稿日時: 2016/10/6 20:07
対応状況: −−−
|
長老 登録日: 2016/6/9 居住地: 投稿: 160 |
Re: 商品一覧ページで商品コードで並び替え 商品コードはdtb_product_classに保存されています。
考え方としては価格順と同じようになるかと思います。 |
umebius |
投稿日時: 2016/10/6 20:12
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 商品一覧ページで商品コードで並び替え 価格の並び替え見ると
ProductではなくProductClassで並び替えていますよね? $qb->addSelect('MIN(pc.price02) as HIDDEN price02_min'); $qb->innerJoin('p.ProductClasses', 'pc'); $qb->groupBy('p'); $qb->orderBy('price02_min', 'ASC'); これと同様、product_codeが連番などになっているのであれば、 price02をproduct_codeに変えれば動くのではないでしょうか?
|
umebius |
投稿日時: 2016/10/6 20:13
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 商品一覧ページで商品コードで並び替え すみません、かぶりました!
|
hiroo |
投稿日時: 2016/10/7 9:37
対応状況: −−−
|
長老 登録日: 2016/6/9 居住地: 投稿: 160 |
Re: 商品一覧ページで商品コードで並び替え umebiusさんこんにちは。
いつも投稿を見て勉強させてもらっています。 今後ともよろしくお願いします。 |
noob01 |
投稿日時: 2016/10/7 10:29
対応状況: −−−
|
新米 登録日: 2016/10/6 居住地: 投稿: 4 |
Re: 商品一覧ページで商品コードで並び替え umebiusさん hirooさん
ご教示ありがとうございます。以下のようにしてみましたが、やっぱりシステムエラーになってしまいます。 $qb->addSelect('MIN(pc.product_code) as HIDDEN product_code_min'); $qb->innerJoin('p.ProductClasses', 'pc'); $qb->groupBy('p'); $qb->orderBy('product_code_min', 'ASC'); もしかしたらと思い、DBでproduct_codeをLONGTEXTからdecimal(10,0)に変更しましたが、同じくシステムエラーなってしまいます。 どこかおかしいでしょうか。 エラーログは以下のようになっています。 eccube.CRITICAL: Doctrine\ORM\Query\QueryException: [Semantical Error] line 0, col 17 near 'product_code)': Error: Class Eccube\Entity\ProductClass has no field or association named product_code (uncaught exception) at /shop/vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php line 63 {"exception":"[object] (Doctrine\\ORM\\Query\\QueryException(code: 0): [Semantical Error] line 0, col 17 near 'product_code)': Error: Class Eccube\\Entity\\ProductClass has no field or association named product_code at /shop/vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php:63, Doctrine\\ORM\\Query\\QueryException(code: 0): SELECT p, MIN(pc.product_code) as HIDDEN product_code_min FROM Eccube\\Entity\\Product p INNER JOIN p.ProductCategories pct INNER JOIN pct.Category c INNER JOIN p.ProductClasses pc WHERE p.Status = 1 AND pct.Category IN(:Categories) GROUP BY p ORDER BY product_code_min ASC at /shop/vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php:41)"} [] |
umebius |
投稿日時: 2016/10/7 10:42
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 商品一覧ページで商品コードで並び替え すみません、product_codeではなくcodeですね!
$qb->addSelect('pc.code as HIDDEN product_code'); $qb->orderBy('product_code', 'ASC'); 商品コードで並び替えるということは商品規格は特に使用されていないということでしょうか?
|
noob01 |
投稿日時: 2016/10/7 11:26
対応状況: −−−
|
新米 登録日: 2016/10/6 居住地: 投稿: 4 |
Re: 商品一覧ページで商品コードで並び替え umebiusさん
codeにしたらうまくいきました!丁寧に教えて頂きましてありがとうございます! 商品規格を試しに登録してみました。 違う商品規格に同じ商品コードをつけても、違う商品コードをつけても今のところは特に問題なかったです。 何か不具合が起こるかもしれないということでしょうか? |
umebius |
投稿日時: 2016/10/7 17:17
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 商品一覧ページで商品コードで並び替え いえ、不具合というか
「商品」の並び替えですので、複数の「商品規格」が登録されていた場合、コードが飛んでると順番おかしくなったりするかなと思った程度です。
|
umebius |
投稿日時: 2016/10/8 20:19
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 商品一覧ページで商品コードで並び替え hirooさん
ご丁寧にありがとうございます。 私も常々勉強させていただいております。 間違いや、より良い方法がございましたらぜひご指摘ください。 よろしくお願い致します。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |