機能要望 > 管理機能 > 「カテゴリ登録CSV」時、カテゴリID昇順にしたい。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2009/7/29 17:27
対応状況: −−−
|
「カテゴリ登録CSV」時、カテゴリID昇順にしたい。 eccube-2.4.1に於いても「カテゴリ登録CSV」を行うと相変わらず
「■2行目でエラーが発生しました。 ※既に同じ内容の登録が存在します。<br>」 を表示することから、eccube-comu...の 『LC_Page_Admin_Products_UploadCSVCategory.php』 が採用されていない、、、のはなぜなんだろう??? (みなさんはどうされているのでしょうか? 本機能を使用したい場合は、小生同様↓を 行われているのでしょうか?) ということで、上記ファイルを置き換えて「カテゴリ登録CSV」が 出来る様にはしているのですが、「この内容で登録する」を 押した後、「カテゴリ管理」でカテゴリを表示すると、 「カテゴリID」の「降順」なカテゴリ(フォルダ)表示となります。 「カテゴリID」と「カテゴリ名」をcsvファイルで管理して 「カテゴリ登録CSV」の機能で簡単にカテゴリ階層を 設定する機能が、csvファイル内容とeccubeでの表示が 逆転することになり、なんとなく、「う〜ん...」な感じ。 処理的なしばりから、この様な状況なのでしょうか? 「カテゴリID」「カテゴリ名」 1 食器 2 食品 を読ますと 2 食品 1 食器 となる。これを、eccubeでも 1 食器 2 食品 となってほしいのですが。。。 |
|
seasoft |
投稿日時: 2009/7/29 23:34
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 「カテゴリ登録CSV」時、カテゴリID昇順にしたい。
私も少々気になっていた点なのですが、たしか rank (表示順位) を設定するロジックの関係だったと思います。 個人的には、その機能を運用では利用しておらず、影響を受けていないのですが、他にも不満に感じている方がいらっしゃるようでしたら、情報をいただければ幸いです。改善に向けて動いてみますよ。(EC-CUBEコミュニティ(eccube-comu) での実装か、正式版へのチケット登録など)
|
ゲスト |
投稿日時: 2009/7/30 13:08
対応状況: −−−
|
Re: 「カテゴリ登録CSV」時、カテゴリID昇順にしたい。 引用:
ですが、思いっきり勘違いしていました。 ・小生の勘違い: 読込み直後は「カテゴリID」の「数字」の降順に表示される。 (その後は「カテゴリ管理」の「移動」で表示順を変更できる。) ・「カテゴリ登録CSV」の処理(試行錯誤による推定): CSVファイルの読込こんだ順にrank値を採番し 「カテゴリ表示」時にrank値の降順で表示する。 (後述のrank値の採番結果を見ると、階層構造対応のため 単純に「読み込んだ順」では無い様ですが。) 引用:
とういことで、調べてみました。 csvデータ 142行を読み込ませての(親カテゴリ 29、子カテゴリ 113) DBテーブル「dtb_category」のフィールド「rank」の値は、 「親カテゴリ←子カテゴリ」をバッファリングしながら採番しているもよう。。。 そして 『LC_Page_Admin_Products_UploadCSVCategory.php』 (eccube-comu-r18241.tar.gz)を見てみると、 の229行目「*カテゴリ登録を行う.」からの 綺麗なコードをいじることになる。 それは、もったいないので(私見)、自己完結として: 『「カテゴリ登録CSV」処理と「csvファイル情報」の関係が分ったので、 「csvファイル情報」にて、「カテゴリID昇順」になる様にする。』 とします。 追記! '09.08.20 次スレッドを必ず参照してください。 <フィールドの型:serialに関して> |
|
ゲスト |
投稿日時: 2009/8/20 16:40
対応状況: −−−
|
Re: 「カテゴリ登録CSV」時、カテゴリID昇順にしたい。 テーブルdtb_categoryなどの中で
category_id serial classcategory_id serial の様にフィールドの型が「serial」と定義されています。 従って、 引用:
で、「カテゴリ登録CSV」の「カテゴリID」を明示的に指定した場合は、 多分、管理画面での「カテゴリ管理」で、手動で「カテゴリ」を 追加すると、前述の「明示的に指定」した番号と重なった時点で エラーが発生することが、予想されます。 |
|
SeeDa |
投稿日時: 2009/8/26 12:18
対応状況: −−−
|
半人前 登録日: 2009/8/26 居住地: 名古屋市 投稿: 22 |
Re: 「カテゴリ登録CSV」時、カテゴリID昇順にしたい。 初めて投稿させていただきます。
最初のEC-CUBE案件なのに、5階層1000カテゴリー越えなんてものを抱えて、このスレッドを参考にさせていただきました。 引用: Ringoさんは書きました: 結果的に「id」が重複してしました 1つのカテゴリーに50くらいのサブカテゴリーが入るため手入力は非効率的で、商品登録もCSVで行うため自動的に振られるIDも使い勝手が悪いです。 「IDを商品コードみたいに利用したいんです。」 そこで、まず商品マスタのように「全カテゴリ一括削除」機能を追加しました。 単に関連テーブル群のレコードを削除するだけで、serialはそのままです。 加えて オリジナルの「カテゴリIDが振られていれば上書き」と判断しているところを「指定IDにレコードが無ければ挿入」とするように改造して、「カテゴリIDが変わることなく」いつでも全削除→全登録ができるようにしました。 また このスレッドの主題である昇順についてですが、CSVファイルを上の行から読み込んでrankをインクリメントするため降順になってしまうのを、fgetcsvする前のアップロードファイルをreverseしておくことで回避しました。 これで“管理画面から追加さえしなければ”任意のIDで昇順に表示することができそうです。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |