バージョン選択

フォーラム

メニュー

オンライン状況

84 人のユーザが現在オンラインです。 (70 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 84
もっと...

サイト内検索

質問 > フロント機能 > 商品一覧ページの並び順で[数字順]にしたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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}-->&nbsp;


そこで、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 }

あります


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

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さんは書きました:
あと、
A1、A2、A3、A4…A10、A11
の場合
A1、A10、A11、A2、A3、A4…
のような順番になると思います。

A1、A2、A3、A4…A10、A11のようにソートを行うのであれば
もう少し具体的な命名規則がわからないとなんとも言えないです。
yuh
投稿日時: 2015/4/20 10:14
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 商品一覧ページの並び順に名前順(数字順)を追加したい
DBからデータを引っ張ってくる段階でソートされたデータが返ってくるので、基本的にDBのソートを使用します。
多分こんな感じですかね?


$objQuery->setOrder("LENGTH(alldtl.name), alldtl.name");

テストはしてないので、適当に調整してください。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,860名です
総投稿数は109,996件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1294
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.