質問 > フロント機能 > 商品一覧ページの並び順で[数字順]にしたい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
nantoka |
投稿日時: 2013/5/5 19:52
対応状況: −−−
|
常連 登録日: 2009/4/7 居住地: 投稿: 38 |
商品一覧ページの並び順で[数字順]にしたい ※タイトルをわかりやすく修正しました
商品一覧ページの並び順に[数字順]を追加したのですが 商品名にA-1,A-11、B-2など数字を使用しているため A-1、A-11、A-2と並んでしまいます。 これを A-1、A-2、A-3…と並べる方法に躓いています。 どなたか、ご教授していただけないでしょうか? よろしくお願いします。 ------------ 変更したページ ------------ 1. data/class/pages/products/LC_Page_Products_List.php lfGetProductsList内 // 表示順序 switch ($this->orderby) { 追加→ // 商品番号順 追加→ case 'name': 追加→ $objProduct->setProductsOrder('name', 'dtb_products', 'ASC'); 追加→ break; □商品一覧デフォルトの表示 data/class/pages/products/LC_Page_Products_List.php lfGetProductsList内、default:には 処理が直書きされているようなので、 デフォルトでは数字順(大きい順)で一覧が表示できています。 2. data/Smarty/templates/default/products/list.tpl 103行あたりに以下を追加 <!--{if $orderby != 'name'}--> <a href="java script:fnChangeOrderby('name');">名前順</a> <!--{else}--> <strong>名前順</strong> <!--{/if}--> そこで、javascript、fnChangeOrderby()を探して 以下サイトのような処理をしなければダメなんだろうと考えましたが http://the-zombis.sakura.ne.jp/wp/?p=786 fnChangeOrderby()を見つける事ができません。 ↑こちらは返信いただき、解決しました。 環境――――――――――――― EC-CUBEバージョン 2.12.2 PHPバージョン PHP 5.3.19 DBバージョン MySQL 5.0.82-community サーバ heteml |
red |
投稿日時: 2013/5/6 10:40
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: 商品一覧ページの並び順に名前順(数字順)を追加したい data/Smarty/templates/default/products/list.tplに
32 // 並び順を変更 33 function fnChangeOrderby(orderby) { 34 fnSetVal('orderby', orderby); 35 fnSetVal('pageno', 1); 36 fnSubmit(); 37 } あります
|
nantoka |
投稿日時: 2013/5/7 19:38
対応状況: −−−
|
常連 登録日: 2009/4/7 居住地: 投稿: 38 |
Re: 商品一覧ページの並び順に名前順(数字順)を追加したい 見落としてました、ありがとうございます。
質問した時期から時間が経ってしまったのですが、 以下のように変更してみましたが、動きませんでした。 data/Smarty/templates/default/products/list.tpl に以下を追加 // 並び順を数値順に変更130804 function fnChangeOrderbyNum(orderbynum) { var orderbynum = orderby.sort(function(a,b) {return a-b;}); fnSetVal('orderbynum', orderbynum); fnSetVal('pageno', 1); fnSubmit(); } ※fnSetVal、 fnSubmit()はjs/site.jpに記載されていました。 data/class/pages/products/LC_Page_Products_list.php lfGetProductsListメソッドに以下を追加 // 並び順を数値順に変更130804 function fnChangeOrderbyNum(orderbynum) { var orderbynum = orderby.sort(function(a,b) {return a-b;}); fnSetVal('orderbynum', orderbynum); fnSetVal('pageno', 1); fnSubmit(); } どなたか、ご教授よろしくお願いします。 |
nantoka |
投稿日時: 2014/3/6 21:41
対応状況: −−−
|
常連 登録日: 2009/4/7 居住地: 投稿: 38 |
Re: 商品一覧ページの並び順に名前順(数字順)を追加したい 数字順で商品を並べ替えたいのですが、なかなかできません。
商品名に必ず数字が入っています。 A1、A2、A3、A4…A10、A11 何かまぬけな所を見落としているかもしれませんが ご教授よろしくお願いします。 |
yuh |
投稿日時: 2014/3/6 23:02
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 商品一覧ページの並び順に名前順(数字順)を追加したい <a href="java script ↓ <a href="javascript ではないですか? 一応こちらの環境ではうまく動作しました。 |
yuh |
投稿日時: 2014/3/6 23:05
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 商品一覧ページの並び順に名前順(数字順)を追加したい あと、
A1、A2、A3、A4…A10、A11 の場合 A1、A10、A11、A2、A3、A4… のような順番になると思います。 A1、A2、A3、A4…A10、A11のようにソートを行うのであれば もう少し具体的な命名規則がわからないとなんとも言えないです。 |
nantoka |
投稿日時: 2015/4/20 6:02
対応状況: −−−
|
常連 登録日: 2009/4/7 居住地: 投稿: 38 |
Re: 商品一覧ページの並び順に名前順(数字順)を追加したい 時間がたってからの返信すみません。
商品一覧ページで「自然順ソート」がしたかったのですが 勉強不足でクリアできていません。 natsort()関数だけではだめなのかなぁ、という段階で立ち往生しています。 http://php.net/manual/ja/array.sorting.php 手順等、アドバイスいただければ嬉しく思います。 よろしくお願いします。 引用:
|
yuh |
投稿日時: 2015/4/20 10:14
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 商品一覧ページの並び順に名前順(数字順)を追加したい DBからデータを引っ張ってくる段階でソートされたデータが返ってくるので、基本的にDBのソートを使用します。
多分こんな感じですかね?
テストはしてないので、適当に調整してください。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |