バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > 管理機能 > 管理画面のカテゴリーをD&Dで移動させる

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yuta
投稿日時: 2009/11/27 16:10
対応状況: −−−
常連
登録日: 2009/1/15
居住地:
投稿: 54
Re: 管理画面のカテゴリーをD&Dで移動させる
カテゴリーのD&D、本日実装しようと思い参考にさせていただきました。

このトピックの最初にtheuriさんがまとめてくださっている内容をもとに、ファイルを一つずつ修正・上書きし、カテゴリーをD&Dできる状態まで来ました。

しかしドロップした後、一旦並び替えが行われた状態が表示されますが、数秒後にもとの状態に戻ってしまいます。


何か見落とした部分があるかと思い何度も見直しましたが分かりませんでした。。。

何か解決策がわかる方いらっしゃいましたらアドバイスいただけませんでしょうか?

よろしくお願いいたします。



------------------------------
[EC-CUBE] 2.3.3
[レンタルサーバ] つかえるねっとアドバンス
[OS] Linux p28.jpnsv.com 2.6.18-028stab059.5 #1 SMP Fri Oct 24 17:50:54 MSD 2008 x86_64
[PHP] 5.1.6
[データベース] MySQL 5.0.45
[WEBサーバ] Apache/2.2.3 (CentOS)
[ブラウザ] 使用しているブラウザ名、バージョン Sleipnir, Google Chrome, Firefox
------------------------------
pigmon
投稿日時: 2009/7/17 17:02
対応状況: −−−
常連
登録日: 2008/3/5
居住地:
投稿: 63
Re: 管理画面のカテゴリーをD&Dで移動させる
この機能とても気に入っています。
並べ変え作業を右側の上下をクリックしていく作業は登録数が多くなるととてもたいへんですよね。

現在はカテゴリ管理のみの実装となっていますが、これをメーカー管理の方にもあったらなぁと思いました。
メーカー数100とかなると移動させるの大変ですw

theuri
投稿日時: 2009/2/23 11:12
対応状況: −−−
半人前
登録日: 2009/1/24
居住地: 大阪
投稿: 12
Re: 管理画面のカテゴリーをD&Dで移動させる
引用:

tecotocoさんは書きました:
「Fix」のご案内が出たあとだったと思うのですが、載せて頂いてるソースを貼り付けたと思います。
    :
    :
というのも、試しにカテゴリをひとつだけ残して他のを全部消して、カテゴリを作成し直してみたところ、きれいに改善されたからです。
rankも触って手直しを試みていたのですが、そちらでもうまく行かず最終手段として削除→登録し直し、を行ってみました。

なるほど、ちょっと曖昧で再現とれなさそうな感じと言う事ですね。それは良くある事なので仕方ない事だと思います、いわゆる「何かの拍子」と言う事ですね。

ここで重要だったのが「Fix」前のソースで触ったことがあったかどうかでした。一度ズレていると、ずっと変なままになってしまうので原因はFixした部分と同じであろうと断定できます。

引用:

これだけ操作し易くなると、カテゴリ管理が楽しくなりますね。
本当にありがとうございます。

ありがとうございます、バグが無い状態になったら完全版として綺麗にまとめてご紹介出来ればと思います

引用:

これはついでの参考情報なのですが、jquery.tablednd.jsの読み込みをカテゴリ管理だけに留めておきたい場合は、以下のようにしてmain_frame.tplに書くと良いです。

<!--{if $tpl_mainno eq "products"}-->
<!--{if $tpl_subno != 'category'}-->
<!--{else}--><script type="text/javascript" src="<!--{$TPL_DIR}-->js/jquery.tablednd.js"></script><!--{/if}-->
<!--{else}--><!--{/if}-->

ほほー、ページ単位にそう言うパラメータも持っているんですね。これは非常に良い情報です、かなり応用が利きそうで!
elseブロックは必要ないと思われますので

<!--{if $tpl_mainno == "products" && $tpl_subno == 'category'}-->
<script type="text/javascript" src="<!--{$TPL_DIR}-->js/jquery.tablednd.js"></script>
<!--{/if}-->

と書いてあげるとスッキリしそうです
tecotoco
投稿日時: 2009/2/21 20:13
対応状況: −−−
常連
登録日: 2008/9/13
居住地:
投稿: 42
Re: 管理画面のカテゴリーをD&Dで移動させる
「Fix」のご案内が出たあとだったと思うのですが、載せて頂いてるソースを貼り付けたと思います。
どうも少々記憶もあやふやで、変更の際も、その都度のバージョン管理をしていなかったので、非常にあやふやな情報となってしまってすいません_(._.)_
なんとか原因を見つけてお届けしようとしてみたのですが、ちょっと難しくなってしまいました。

というのも、試しにカテゴリをひとつだけ残して他のを全部消して、カテゴリを作成し直してみたところ、きれいに改善されたからです。
rankも触って手直しを試みていたのですが、そちらでもうまく行かず最終手段として削除→登録し直し、を行ってみました。

これだけ操作し易くなると、カテゴリ管理が楽しくなりますね。
本当にありがとうございます。


これはついでの参考情報なのですが、jquery.tablednd.jsの読み込みをカテゴリ管理だけに留めておきたい場合は、以下のようにしてmain_frame.tplに書くと良いです。

<!--{if $tpl_mainno eq "products"}-->
<!--{if $tpl_subno != 'category'}-->
<!--{else}--><script type="text/javascript" src="<!--{$TPL_DIR}-->js/jquery.tablednd.js"></script><!--{/if}-->
<!--{else}--><!--{/if}-->
theuri
投稿日時: 2009/2/21 11:06
対応状況: −−−
半人前
登録日: 2009/1/24
居住地: 大阪
投稿: 12
Re: 管理画面のカテゴリーをD&Dで移動させる
<テストをしてくれている有志の方々へ>

このD&D操作で、一度ずれてしまうとdtb_category内のrankがおかしくなり、それ以降正常に作動しなくなります。(購入などに影響はありませんが、カテゴリの並びなんかが変になったりします。)
この場合「phpPgAdmin」や「phpMyAdmin」などを使うか、手動で調整する必要があります。下記をご参考に。

category_id	category_name	parent_category_id	level	rank
6		MEN'S		0			1	14
8		JACKET		6			2	13
9		TOPS		6			2	12
10		BOTTOMS		6			2	11
11		T-SHIRT		6			2	10
14		BELTS		6			2	9
12		SHOES		6			2	8
15		ACCESSORY	6			2	7
7		LADY'S		0			1	6
13		BELTS		7			2	5
16		ACCESSORY	7			2	4
17		OTHER		0			1	3
19		BELTS		17			2	2
18		ACCESSORY	17			2	1

※データは例です。

dtb_categoryの中の「rank」を降順に並び替えるとこのような感じになります。
注目するのは「level」でしょうか、これが階層をあらわします。
この例だとLADY'S(第1階層)と言う大きいカテゴリがあって、その下にBELTSとACCESSORY(第2階層)がくっついています。
rankを見てみると6、5、4となっています。

このように階層に関係なく、とにかく全てのカテゴリーを展開した時に見える並びになっていることがわかります。
この並び替えカスタマイズで不具合が発生した時は「rank」だけがズレますので、本来の並びにしてやる必要があります。
大体は同じ数字が2個出来たり、MAXの数字より1多い数字になってるヤツがいたり、と言った具合ですね。

親Aカテゴリ
子Aカテゴリ
子Aカテゴリ
子Aカテゴリ
親Bカテゴリ
子Bカテゴリ
親Cカテゴリ
子Cカテゴリ
子Cカテゴリ
  :
  :

となるように一つ修正してみてください。

テスト環境なら、カテゴリを一旦全部消せば良いじゃないかと言う事を今気づきました。
まぁ、なんとなく消したく無い方などは…手動でと言う事で笑


テスターの方々、お手数かけますm(;_ _)m
theuri
投稿日時: 2009/2/21 11:01
対応状況: −−−
半人前
登録日: 2009/1/24
居住地: 大阪
投稿: 12
Re: 管理画面のカテゴリーをD&Dで移動させる
引用:

tecotocoさんは書きました:
とても楽しくて有効な動作と思い、私もテスト環境に導入してみました。
ドラッグ&ドロップで動かせるし、並び順も反映されて快適です。
とても良い技術情報をありがとうございます_(._.)_

完成すればきっと有用なものになりそうですね、評価ありがとうございます。

引用:

ただ、私の環境では、メインカテゴリーだと問題ないのですが、
サブカテゴリーのように下層カテゴリーを開いた際、そこに本来登録されていて、表示されるはずの(サブ)カテゴリーが、別のメインカテゴリーに属しているように見える症状が発生しました。

フロント側では正常に表示されており、管理画面上で「属するカテゴリーがずれる症状」が発生している状態です。
どこか間違ったかなー?と見比べてるところです。
何か判ったら、また書き込もうと思います。

同じような症状の方はいらっしゃいますか?

うーん、その症状は改善したと思ったのですが…改定版(今原文に載せているソース)のPHPを貼り付けてそうなったのでしょうか?
それとも一度前のソースで操作したことがあって、今回のソースに変えてからズレに気づいたパターンでしょうか。
ずれる原因がまだ他にあるとすると…なんだろう
是非それは突き止めたい所です。
tecotoco
投稿日時: 2009/2/20 22:13
対応状況: −−−
常連
登録日: 2008/9/13
居住地:
投稿: 42
Re: 管理画面のカテゴリーをD&Dで移動させる
とても楽しくて有効な動作と思い、私もテスト環境に導入してみました。
ドラッグ&ドロップで動かせるし、並び順も反映されて快適です。
とても良い技術情報をありがとうございます_(._.)_

ただ、私の環境では、メインカテゴリーだと問題ないのですが、
サブカテゴリーのように下層カテゴリーを開いた際、そこに本来登録されていて、表示されるはずの(サブ)カテゴリーが、別のメインカテゴリーに属しているように見える症状が発生しました。

フロント側では正常に表示されており、管理画面上で「属するカテゴリーがずれる症状」が発生している状態です。
どこか間違ったかなー?と見比べてるところです。
何か判ったら、また書き込もうと思います。

同じような症状の方はいらっしゃいますか?
theuri
投稿日時: 2009/2/20 12:36
対応状況: −−−
半人前
登録日: 2009/1/24
居住地: 大阪
投稿: 12
Re: 管理画面のカテゴリーをD&Dで移動させる
hogehoge様>
引用:

# 細かくてすいません。ソースが、最後の

}else if($rankAry[$keys[1]] < $rank){

の閉じがぬけてるみたいです。

あぁ、失礼しました…。インデントがTABの所と半角スペースの所があったので貼ったり削ったりしてるうちに消してしまったんだと思います。元記事を修正しておきました、すませんorz

引用:

あと、こちらでは、
/html/admin/css/contents.css
に以下を追加してdrag中の色をかえました。

.tDnD_whileDrag {
    background-color: #b7b7b7;
}

ほんとは、使いやすそうなclassがあれば、
それをonDragClassで指定するのが正解っぽそうなのですが、
ちょうどよさげなものがなかったので。

あまり「Table Drag and Drop JQuery plugin」がよくわかってない
ので、トンチンカンなことしてたらすいません。

確かにドラッグ中にどれ動かしているのかわかり辛いですね
「tDnD_whileDrag」はonDragClassのデフォルトクラスなので、CSSでその背景色を変えてあげると言うのは正しい解釈です。

onDragClass: "hogehoge"

と言うのを省略した形になっただけなので。
確かにオンマウスの背景色、と言う共通クラスがあるなら…それをonDragClassで指定するのが一番エレガントですね
theuri
投稿日時: 2009/2/20 12:15
対応状況: −−−
半人前
登録日: 2009/1/24
居住地: 大阪
投稿: 12
Re: 管理画面のカテゴリーをD&Dで移動させる
引用:

seasoftさんは書きました:
> ありがとうございます、この手の機能はカテゴリよりもむしろ商品の並び替えにつけて欲しいと言われますね。
> こちらの機能が安定したら商品の方も応用して作れそうな気がします

EC-CUBEコミュニティ(eccube-comu) のレイアウト編集が正式版にも取り込まれる予定だったと思います。

両者の実装が似た方法になっていると、保守性が上がり、他画面への応用も促進できそうな気がします。(あくまで理想の話で、実際、別の方の実装と統合するのって難しいですよね。)

コミュニティ版をテスト環境にインストールしてみました。
レイアウト設定、点線が出てわかりやすくなってますね。

フローティングボックスでの実装が大変そうだったのと、通常はテーブルで組まれるであろうデータの並びを簡単に動かせるように…となると、セルを行単位で動かせる今回の方法がちょっとしたカスタムにはベストかなと思いました。


引用:

EC-CUBE の開発環境をパフォーマンス測定で利用してて、まだ試せていませんが・・・
# 15,000件の商品マスタ、MySQLだと1ページ表示するのに何時間かかるんだw

実装方法の差異についても調べてみました、商品の並べ替え画面の構成はカテゴリのモノと同じ構成になっておりました。
移動処理の部分もswitch文で渡されたmodeによってupとdownなどがあり、ここもカテゴリと同じなので恐らくこの方式で統一されているのではないかと思います。
つまる所、動かし方(ボックスかテーブルか)はさておきcaseを一つ増やせば対応出来るんじゃないかと思います。


>15,000件の商品マスタ
あぁ…笑
商品一覧が出るまでにカテゴリで絞り込まれるので、全然考えていませんでしたが1カテゴリーに15,000件もありえますよね。
これはサーバが悲鳴あげますね

となるとページャーや○番目へ移動の機能は残しておき、ページ内はD&D出来る。と言った機能になるのかな。

1.4ページ目のデータを「1番目へ移動」で大きく移動させる
2.1ページ目に移動したデータをD&Dで微調整

フロー的には悪くなさそうです。


以上貴重な情報、ご意見ありがとうございました。
今後は「○○な機能が欲しい」と言われたら、まずコミュニティ版を見てから考えるようにします。
後々役に立つかもしれませんもんね
hogehoge
投稿日時: 2009/2/20 11:17
対応状況: −−−
常連
登録日: 2008/9/19
居住地: Cusco,Peru
投稿: 67
Re: 管理画面のカテゴリーをD&Dで移動させる
kimさま

ありがとうございました。
順調に動いてる見たいです!
お力になれませんでした。すいません。orz

# 細かくてすいません。ソースが、最後の

}else if($rankAry[$keys[1]] < $rank){

の閉じがぬけてるみたいです。

あと、こちらでは、
/html/admin/css/contents.css
に以下を追加してdrag中の色をかえました。

.tDnD_whileDrag {
    background-color: #b7b7b7;
}

ほんとは、使いやすそうなclassがあれば、
それをonDragClassで指定するのが正解っぽそうなのですが、
ちょうどよさげなものがなかったので。

あまり「Table Drag and Drop JQuery plugin」がよくわかってない
ので、トンチンカンなことしてたらすいません。
(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,504名です
総投稿数は110,106件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1656
8
red
1570
9
mcontact
1307
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.