Ujiki.oOと申します。同じ内容をダブルブッキングしてしまいました。
Cube側を消すべきかと考えております。済みません。
-----
【環境】:
PHP Version 4.4.1
MySQL 4.1.16
xoopsバージョン: 2.0.16 JP (2.0.15JPよりアップグレード)
モジュール「 xhnewbb 」バージョン: 1.23
管理者利用ブラウザー: Firefox1.5.0.5 w/MS-Win2k
【内容】:
モジュール「 xhnewbb 」の管理メニュー、「カテゴリ表示位置の設定」による変更の結果が、実際のフォーラム表示と連動しない。
【詳細】:
1.
カテゴリ表示位置の設定.pdf: 本PDFファイルは、モジュール「 xhnewbb 」の管理メニュー、「カテゴリ表示位置の設定」による編集結果画面を表します。この画面PDFの例では「ゲストブック」を最上段に上げようと試みていますが、この例示以上には上がりません。
2.
フォーラム一覧.pdf: そして、本PDFファイルが、モジュール「 xhnewbb 」の「フォーラム一覧」画面です。管理画面の結果が表示に反映されません。例えば管理画面では「選択されたカテゴリは既に一番上に配置されています」と表示されたものが、決して最上段には表示されていません。
当方では、2つのプライベートフォーラムを、1つのカテゴリーに登録し、他は、複数の一般公開フォーラムを、それぞれ12のカテゴリーに登録しています。
みなさまのところでは、正常に機能しているのでしょうか? ここフォーラムもモジュール「 xhnewbb 」を利用されておいでですので、投稿してみました。投稿ルールなど、間違いがありましたら、ご指導願います。
- Ujiki.oO -
PS: システム設定メイン »» 一般設定 では、ログカウンター以外はキャッシュ設定していません。尚、ブラウザーのキャッシュファイルは削除してから閲覧確認しています。
サーバー側のタイムアウトに起因する独自性のトラブルかも知れないことが判明しました。
目下、サーバー提供者様に確認中です。恐れ入ります。
http://www.abcoroti.com/~rent/rspace/bbs3/wwwlng.cgi?print+200608/06080002.txt結果につきましては、ご報告させていただきます。
結論から言うと、「さもありなん」というところでしょうか
実際、ここはnewbbから手を入れていない部分で、ソースを読むだけで悶絶死しそうなほどの駄コードです。
それでも頑張って読むと、なんらかの拍子に、orderが綺麗に並ばなくならばなくなったら、それだけでもう回復不能、なんて感じのコードですね。
私自身、時間があれば、この腐った管理側を全面的に書き直そうとは思っているのですが、すぐには出来ないので、phpMyAdminで手作業で直すことをお勧めします。
xhnewbb_categoriesテーブルのcat_orderフィールドに優先度の高い順に1から整数を入力してください。
くれぐれも、cat_idの方は書き換えないでくださいね。
ご返答に感謝致します。
Quote:
xhnewbb_categoriesテーブルのcat_orderフィールドに優先度の高い順に1から整数を入力してください。
このヒントを元に、ざくっとソースを見てみました。
う〜む、問題は「テーブルcat_orderフィールドが文字タイプ」であることかな。
文字タイプなのに、SELECTで単純ソーティングしているから、9以下のカテゴリーなら正常表示するのですね。
このフィールドを「ショート・インテジャー」にすれば、解決に一歩前進すると感じます。違うのかな。
こちらは、急ぎ、「10」以上のカテゴリーに、英単語「a」「b」「c」と更新しました。
つまり、1,2,3,4,5,6,7,8,9,a,b,c,d,e・・・・
って感じです。これで、select時の、cat_orderフィールドに対するソーティングは目的を達成しました。
次は、cat_orderフィールドをリネームし、新たな整数タイプのcat_orderフィールドを新規作成して実検してみます。
ヒントになる返答を戴いたこと、感謝致します。
- Ujiki.oO -
Quote:
Ujiki.oO wrote: 自己レス
Quote:xhnewbb_categoriesテーブルのcat_orderフィールドに優先度の高い順に1から整数を入力してください。
cat_orderフィールドをリネームし、新たな整数タイプのcat_orderフィールドを新規作成して実検してみます。
【実検のご報告です】cat_order smallint(2) にして、問題無く、初期目的を達成している模様です。
是非、
CREATE TABLE xhnewbb_categories (
cat_id smallint(3) unsigned NOT NULL auto_increment,
cat_title varchar(100) NOT NULL default '',
cat_order varchar(10) default NULL,
PRIMARY KEY (cat_id)
) TYPE=MyISAM;
から
CREATE TABLE xhnewbb_categories (
cat_id smallint(3) unsigned NOT NULL auto_increment,
cat_title varchar(100) NOT NULL default '',
cat_order smallint(3),
PRIMARY KEY (cat_id)
) TYPE=MyISAM;
に、変更されることを、推奨致します。
- Ujiki.oO -