2008年10月20日
カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグインを公開しました。
当BlogではMovable Typeのプラグインを配布していますが、中でも「カテゴリーの並べ替え」は人気が非常に高いです。
先日のHack-a-thonでMT4用にこのプラグインを改良し、基本部分まで作り終えました。
そして、家に帰ってからユーザーインターフェースを改良して完成させました。
今回のプラグインでは、カテゴリーの並び順を画面上で設定できるようにするなど、使い勝手を大幅に改善しました。
また、Movable Type 4ではエントリーではないページを作ることができ、それらのページをフォルダに分けて管理することもできます。
このプラグインでは、フォルダの並べ替えにも対応しています。
1.ダウンロードとインストール
プラグインは以下からダウンロードすることができます。
- Movable Type 4~4.01a用
SortCatFld_1_01.zip - Movable Type 4.1/4.2用
SortCatFld_1_02.zip
ダウンロードしたファイルを解凍すると、「plugins」と「mt-static」というフォルダができます。
通常は、これらのを、Movable Typeのインストール先ディレクトリにアップロードします。
また、Movable Type本体と「mt-static」ディレクトリとを別のディレクトリにしている場合は、解凍してできた「mt-static」ディレクトリの中身を、Movable Typeの「mt-static」ディレクトリの中にアップロードします。
アップロード後にMovable Typeにログインすると、Movable Typeのアップグレードを行うメッセージが表示されます。
画面の指示に従って操作します。
2.テンプレートの書き換え
インストールが終わったら、テンプレートを書き換えておきます。
テンプレートの中で、MTSubCategories/MTTopLevelCategories/MTSubFolders/MTTopLevelFoldersタグを使っている箇所を検索します。
そして、それらのタグに、「sort_method="SortCatFld::Sort"」のアトリビュートを追加し、テンプレートを保存します。
たとえば、MTTopLevelCategoriesタグを書き換える場合だと、以下のようにします。
<MTTopLevelCategories sort_method="SortCatFld::Sort">
ちなみに、Movable Type 4の標準テンプレートの場合だと、「サイドバー(2カラム)」などのテンプレートに、MTTopLevelCategoriesタグを使っている箇所があります。
また、Movable Type 4.1の標準テンプレートでは、「カテゴリアーカイブ」のウィジェットの中に、「mt:TopLevelCategories」のタグがありますので、そこを書き換えます。
3.カテゴリー/フォルダを並べ替える
このプラグインをインストールすると、カテゴリー/フォルダの一覧のページに、並べ替えへのリンクが追加されます。
↓並べ替えへのリンク
このリンクをクリックすると、カテゴリー/フォルダの並べ替えのページが表示されます。
各行にはカテゴリー/フォルダの名前と、並べ替えのボタンが表示されます。
以下のそれぞれのボタンをクリックすると、その行のカテゴリー/フォルダを以下のように並べ替えることができます。
なお、入れ替えや移動は、同じ親を持つカテゴリー/フォルダの間でのみ行われます。
また、子カテゴリーのあるカテゴリーを並べ替えると、子カテゴリーも含んだまま、並べ替えが行われます。
ボタン | 動作 |
---|---|
1つ上のカテゴリー/フォルダと入れ替えます。 | |
1つ下のカテゴリー/フォルダと入れ替えます。 | |
先頭に移動します。 | |
末尾に移動します。 |
以下の画面は、カテゴリーを並べ替えた例です。
並べ替えなければカテゴリー/フォルダは文字コード順に出力されますが、この画面では文字コード順にはなっていません。
たとえば、トップレベルのカテゴリーの「PC」と「FP」は、文字コード順なら「FP」が前ですが、この画面では「PC」が先になっています。
並べ替えが終わったら、「変更を保存」のボタンをクリックします。
そして、カテゴリーやフォルダの一覧が含まれるページ(メインページなど)のテンプレートを再構築します。
これで、並べ替えた通りの順番で、カテゴリー/フォルダの一覧が表示されます。
4.並べ替え結果の各箇所への反映
カテゴリー/フォルダの並べ替えを行うと、MTにログインした後の各ページで、以下の各箇所にも並べ替えが反映されます。
- 「カテゴリの一覧」のページ
- 「フォルダの一覧」のページ
- エントリー編集ページのカテゴリー選択欄
- ページ編集ページのフォルダ選択欄
↓エントリー編集ページのカテゴリー選択欄に並べ替えが反映される
5.ライセンス
このプラグインは、以下のようにデュアルライセンスでご提供します。
5-1.個人ライセンス/商用ライセンスと組み合わせる場合
- 改変・再配布は自由に行っていただいてかまいません。
ただし、改変して再配布する場合、原作者のクレジットは残しておいてください。 - 無料でご利用いただくことができます。
ただし、プラグインの開発やサポートのご支援のために、ドネーションをご検討いただければ幸いです。
5-2.MTOSと組み合わせる場合
- GPLv2に従います。
- 無料でご利用いただくことができます。
ただし、プラグインの開発やサポートのご支援のために、ドネーションをご検討いただければ幸いです。
コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
待ってましたのカテゴリ並べ替えプラグインですね。
「並べ替え結果の各箇所への反映」はとても素晴らしいです。
「テンプレートの書き換え」は「サイドバー(3カラム)」のテンプレート、MTTopLevelCategoriesタグを書き換えただけでしたが他にも書きかえる個所があるでしょうか。
以前のバージョンと違い、今回のMT4ではテンプレートがあちらこちらに存在しインクルードされているようで、なかなか慣れない私には探しきれませんでした。
お忙しいとは存じますが、ご指南いただければ幸いです。
>哲やんさん
こんにちは。プラグインご利用ありがとうございます。
ご質問の件ですが、テンプレート編集のページで、右上にある「検索 テンプレート」の欄に「MTTopLevelCategories」などのタグ名を入力して検索すると、そのタグを含むテンプレートが一覧表示されます。
後は、見つかった個々のテンプレートを編集する状態にして、タグを使っている箇所を検索していくとよいでしょう。
早々にご返信いただき誠にありがとうございました。
右上にある「検索 テンプレート」・・・こんな機能があったのですね。
見落としていました。
きっちり書き換えて運用したいと思います。
本当にありがとうございました。
こんにちは、最初は管理画面を並べ替えるだけかと思っていたら、それがソートメソッドに使えるんですね。
これこそ、カテゴリーソートの決定版だ。
テンプレートの説明の所、sort_method=="SortCatFld::Sort"とイコールが二つ重なってますが、これは一つで良いのではないでしょうか?環境依存?
>oscarさん
こんにちは。
エントリーの間違いをご指摘いただき、ありがとうございました。
早速修正しておきました。
プラグインお借りしました。どうもありがとうございます。
カテゴリの順番移動が簡単にできて大変喜んでいます。
また、よろしくお願い申し上げます。
>kankitiさん
こんにちは。
プラグインご利用ありがとうございました。
すみません、こちらのプラグインを使わせていただきたいのですが、どうもうまく動かないので教えて頂けないでしょうか?
プラグインをダウンロード・アップして、ログインするとアップグレード画面になり、再度ログインしてカテゴリを並べ替え、MTSubCategories/MTTopLevelCategories/MTSubFolders/MTTopLevelFoldersタグを使っている箇所を検索し、sort_method="SortCatFld::Sort"を追加して再構築しましたが、反映されません。
何が間違っているのでしょうか?
よろしくお願い致します。
>yu-kiさん
こんにちは。
手順は正しいので、何らかの理由で「sort_method="SortCatFld::Sort"」のアトリビュートが動作していないものと思われます。
ただ、申し訳ありませんが、現象からは原因は分かりません。
>yu-kiさん
こんにちは。
ふと気付きましたが、もしかすると、MT標準のダイナミックパブリッシングをお使いではないでしょうか。
申し訳ありませんが、このプラグインはMT標準のダイナミック・パブリッシングには対応していません。
ありがとうございました。
ダイナミック・パブリッシングは使用しておりません。
実はMT3だったとか?
こんにちは、SortCatFldを使わせていただいております。
当方MT4.01の環境なのですがMac/WinともにFirefox以外のブラウザでは正常に動かないのですが・・私だけでしょうか?
その症状とは↓
カテゴリー/フォルダの一覧のページには並べ替えへのリンクが表示され並べ替えも正常にでき、ブログページのカテゴリにもその順序は正しく反映されているのですが、そのカテゴリリストに投稿した記事がリンクされていないという症状です。
Firefoxでは正常なのでインストールやアトリビュートの追加設定等は間違ってはいないと思うのですが・・・。
できましたら検証をお願いいたします。
よろしくお願いいたします。
>kimuchiさん
こんにちは。
ページを拝見しましたが、カテゴリーリスト部分のliタグが以下のようになっていました。
<li class="widget-list-item";<a href="カテゴリーアーカイブのアドレス" title="カテゴリー名">カテゴリー名</a>
liタグの最後が、上記の赤字のように「;」なっているのが、問題の原因です。
こんなに早くご返事を頂けるとはm(__)m
ありがとうございました、お陰様で無事解決いたしました。
藤本様著作の書籍、これからも優先して購入させていただきたいと思います。
これには以前の書き出しディレクトリ名の抽出はできないでしょうか。
001|pc|パソコンの設定のものです。
書き出しディレクトリ名は管理画面から行えますがテンプレ内でディレクトリ名を吐き出させたい場合、これは有効でないですよね。
有効なのはあわせ技ですか。
そうなると以前の頭の部分「001|」は不要だけど置いておく幹事になりますでしょうか。
>WARAさん
こんにちは。
カテゴリーの設定のページで指定した出力ファイル名は、MT標準のMTCategoryBasenameタグで得ることができます。
また、サブカテゴリーがあって、カテゴリーの階層も得たい場合は、MTParentCategoriesタグと組み合わせます。
デフォルトタグで取得ができるんですね!
知らなかったです。。
わざわざご教授いただきありがとうございました。
早速ためしてみます。
こんにちは。先日からこちらのこちらのプラグインを使わせていただいています。
インストールまではスムーズに行われたのですが、実行段階に移るとエラーが出てしまい、先に進めなくなってしまいました。
まず、カテゴリ一覧からカテゴリの並べ替えをクリックすると、以下のようなエラーが出ます。
Cannot find column 'order_number' for class 'MT::Category' at /www/mt/plugins/SortCatFld/SortCatFld.pl line 303
さらに、sort_method="SortCatFld::Sort"を各指定カテゴリ系タグに付けて再構築すると、以下のようなエラーが出ます。
MTTopLevelCategoriesでエラーが発生しました: categoriesの並べ替えでエラーが発生しました: Cannot find column 'order_number' for class 'MT::Category' at /www/mt/plugins/SortCatFld/lib/SortCatFld.pm line 6
当方のMTのバージョンは4.01、サーバーはさくらで、パーミッションは755で使用しています。
お時間のあるときで結構ですので、もしよろしければ何かご教授お願い致します。
>litomaさん
こんにちは。
ご質問の件ですが、症状からすると、データベースのアップグレードに失敗しているようです。
phpMyAdmin等でデータベースにアクセスできるのであれば、以下の手順を試してみてください。
1.mt_configテーブルのレコードの一覧を表示します。
2.レコードが1つだけありますので、そのレコードの内容を編集する状態にします。
3.config_dataフィールドから、以下の部分を削除して、レコードを保存します。
PluginSchemaVersion SortCatFld/SortCatFld=1.01
4.MTにログインして、データベースのアップグレードの処理を行います。
なお、上記の手順でも解決できないようだと、サーバーにログインして動作を追ってみないと原因は分からなそうです。
fujimoto様
こちらのプラグインをMT4.01に導入したのですが、
2点質問させて下さい。
MTタグで、MTFlodersやMTCategoriesの時は、
「sort_method="SortCatFld::Sort"」のアトリビュートを
追加する必要が無いと思いますが、
上記のアトリビュートの挿入如何に関わらず
こちらのプラグインは動作しませんでした。
MTの操作画面では、たしかに順番は入れ替わっているので
インストール等が間違っているとは思わないのですが、
MTFlodersやMTCategoriesのMTタグでは、
動作しないものでしょうか?
上記の問題は、MTTopLevelFlodersやMTTopLevelCategoriesにすると
アトリビュートを追加することで問題なく動作します。
もうひとつの質問ですが、
フォルダやカテゴリーの順番は
MTFolderLabel remove_html="1"によって
<10>をフォルダ名の先頭に付けることで
一応問題なく順番の入れ替えが動作しますが、
この方法はやはり問題があるのでしょうか?
以前使っていた方法ですが、MT4にも適用してよいものか
ご意見をお聞かせください。
よくこちらのサイトを参考にさせて頂いています。
どうぞ、宜しくお願いいたします。
>satoさん
こんにちは。プラグインご利用ありがとうございます。
まず、前半のご質問ですが、MTCategories/MTFoldersタグには対応していません。
MT本体のこれらのタグの内部処理を見ると、名前順で並べ替えるように固定されていて、並べ替えの順序を変えることができません。
後半の質問ですが、やり方自体には問題はないと思います。
しいて言えば、「remove_html="1"」のアトリビュートを指定し忘れることがないように注意する必要がある、というぐらいです。
fujimoto 様
早速のご回答ありがとうございます。
MT本体の内部処理がどのようになっているかまだ分からなかったので、安心しました。
それともうひとつMTのウェブページの表示順番を変更するプラグインの開発はやはり難しいのでしょうか?
今後は、私もMTなどCMSツールをより理解する努力を続けて行きたいと思います。遅ればせながら、CMSツールの可能性は今後増え続けるのではないかと考えています。
ありがとうございました。
こんにちは。いつもこちらのサイトでMTの勉強をさせていただいております。
つい先日にMT4.1をインストールし、早速カテゴリー並び替えのプラグインを利用させて頂きました。
ですが、カテゴリーの並び替えへのリンクが表示され、カテゴリーを上や下に移動する事はできるのですが、いざ保存をしようと思っても「変更を保存」のボタンがないのです^^;
導入手順にミスはないとは思うのですが、何が原因と考えられるのでしょうか…
ちなみに、4.01の時にはこのプラグインは使用しておらず、4.01から4.1にバージョンアップしてからになります。
お忙しいかと思いますが宜しくお願い致します。
>Tomさん
こんにちは。プラグインご利用ありがとうございます。
ご質問の件ですが、こちらでも問題を確認しています。
その修正も含め、若干の修正を行って、MT4.1/MTOS用を明日公開する予定ですので、それまでお待ちください。
壱さん
早速のお返事ありがとうございます。Tomです。
とりあえず、自分の問題でのエラーではない事がわかりましたので安心しました。
また、修正版を公開して下さるとの事なので楽しみにしております。
お手数をおかけ致しました。
素晴らしいブラグインです。
それで、MT4.1になり、アップロード画面からアップロード先のフォルダを選択できるようになりましたが、そのフォルダの並びへもこのソートが反映できればさらに素晴らしいかと、コメントいたしました。
お忙しいとは思いますが、どうぞよろしくお願いします。
プラグインありがとうございます。
現在MT4.1を使っているのですが、プラグインをインストールして
ブログの一覧>カテゴリーへアクセスすると下記のエラーが出てしまいます:
エラーが発生しました。
Can't call method "parent" on an undefined value at lib/MT/Category.pm line 258.
他にもプラグインの設定>設定 でカテゴリ並べ替えをクリックすると以下のエラーが:
エラーが発生しました。
Can't call method "order_number" on an undefined value at /home/public_html/mt/plugins/SortCatFld/SortCatFld.pl line 302.
何かこちらの問題なのでしょうか。。。
>Akikoさん
こんにちは。
このプラグインは、MTのカテゴリーのテーブルに並べ替え用のフィールドを追加します、その処理に失敗したのではないかと思われます。
ただ、なぜ失敗したかは、申し訳ありませんが、いただいたエラーメッセージからは判断がつきません。
原因を調べるには、そちらのサーバーにログインしてみることが必要です。
こんにちは。プラグイン、ありがたく利用させていただいてます。
Akikoさんがコメントしてらっしゃるのと同じ件だと思うのですが、先日MT4.1環境にこちらのSortCatFldプラグインをインストールしたところ、初回アクセス時は問題なく表示・順序変更登録できたのですが、30分後ぐらいに再度アクセスした時から、下記のようなエラーが表示されるようになりました。
Cannot find column 'order_number' for class 'MT::Category' at (CGI用フォルダのパス)/plugins/SortCatFld/SortCatFld.pl line 302
原因を調べていて、カテゴリテーブルにフィールドが追加されていないからではないか、とのこちらのコメントを見つけたので、mt_categoryテーブルを確認しました。
初期時はなかったcategory_order_number(int(11))フィールドが存在していたのですが、これ以外にも必要なフィールドがあるのでしょうか。
ある場合は、手動でフィールド追加を行いたいと思いますので、フィールド名・型を教えていただけると助かります。
お忙しいところたいへん申し訳ないですが、何卒よろしくお願いします。
>koyuさん
こんにちは。
このプラグインが追加するのは、category_order_numberフィールドだけです。
申し訳ありませんが、原因を探るには、そちらのサーバーでデバッグするしかなさそうです。
壱さん
返信ありがとうございます。koyuです。
>このプラグインが追加するのは、category_order_numberフィールドだけです。
>申し訳ありませんが、原因を探るには、そちらのサーバーでデバッグするしかなさそうです。
了解しました。
環境もしくはファイルアップロード時に何か問題があって、支障が出ているのかもしれませんね。
とりあえずMTのインストール先を変えてみたり、色々試してみることにします。
原因が判明したら、またご報告にあがります。
ありがとうございました。
壱さんこんにちは。koyuです。
先日No.34、36で書き込みしたのエラーの件ですが、自己解決いたしましたのでご報告いたします。
lib\MT\Category.pmの24行目「'basename' => 'string(255)',」の後に、「'order_number' => 'int(11)',」を追加したところ、正常に稼働するようになりました。
色々いじっていた時期なので、記憶は定かではないのですが、私が誤って古いファイルを上書きしてしまったのが原因ではないかと…。
お騒がせしてすいませんでした;
koyuさん >>32の Akikoです。
私の場合「'order_number' => 'int(11)',」を追加したら今度は
Can't call method "order_number" on an undefined value at /public_html/mt/plugins/SortCatFld/SortCatFld.pl line 302.
のエラーが出てしまいました。
う?ん、なかばあきらめています。。。
はじめまして、さくらと申します。
素晴らしいプラグインを有難う御座います。
MT4に使い慣れず、
MT3を今だに使っていたので、
てんてこ舞いになっていましまっています(/≧◇≦\)
ご質問なのですが、
カテゴリーの移動画面の変更を保存ボタンが表示されていないのですが、インストールミスでしょうか?
カテゴリーを並び替えても変更が反映されず、
色々試してはいるのですが、お手上げ状態です。
スミマセンが、アドバイス頂けますと幸いです。
>さくらさん
こんにちは。プラグインご利用ありがとうございます。
ご質問の件ですが、MT4.1に、MT4.0用のSortCatFldプラグインをインストールすると、お書きになったような現象が起こります。
MT4.1用のプラグインをインストールしてください。
以下のアドレスからダウンロードすることができます。
http://www.h-fj.com/mt_plugin/SortCatFld_1_02.zip
早速ダウンロードしたファイルをアップロードしたところ、
並び替え出来ました*^-^*
本当に助かりました☆有難う御座いました♪
こちらもプラグインにはいつもお世話になっております。
さて、このプラグインなんですが、に対応する予定はございますでしょうか。
すいません、タグが消えてしまいました。
MTEntryCategoriesに対応する予定はございますか。
>茶。さん
こんにちは。
今のところMTEntryCategoriesタグに対応する予定はありません。
お世話になっております。
今後、4.21に対応される予定はございますでしょうか?
>哲やんさん
こんにちは。
このプラグインのバージョン1.02は、MT4.21でも動作します。
早々にご返信いただきありがとうございました。
現在使用中の「スタイル」にはなぜか該当するタグが見つからなかったので、もう一度よく探してから設定しようと思っています。
今後ともご指導のほどよろしくお願いいたします。
お世話になっております。
素晴らしいプラグインをいつも使わせていただいております。
1つ不具合が発生しましたのでそのご報告と解決法を教えていただきたく思います。
今までMTのDBはMySQLを使用していたのですが、
今回PostgreSQLを使用し、このプラグインを導入したところ、カスタムフィールドの順番を変える機能が動作しなくなりました。
いろいろと検証していて、このプラグインを無効にしたところ「ブログ記事」のみフィールドの順番を変更することが出来ました。
しかしウェブページは変更することができませんでした。
また、他の環境で試してみたところ無効にしてもブログ記事もウェブページもカスタムフィールドの順番を変更することが出来なくなりました。
やはり一度インストールしてしまったので完全に消去するには、MTを再インストールする必要があるのでしょうか。
アドバイスをいただけると助かります。
よろしくお願い致します。
>NASTYさん
こんにちは。
このプラグインを削除するには、以下の手順を取ります。
1.「plugins」→「SortCatFld」ディレクトリを削除します。
2.「mt-static」→「plugins」→「SortCatFld」ディレクトリを削除します。
3.phpPgAdmin等を利用して、データベースの「mt_category」テーブルから、「category_order_number」のフィールドを削除します。
ちなみに、当方でCORESERVER(S68)でPostgreSQL(8.2.4)の環境にMTをインストールして、このプラグインもインストールしてテストしてみましたが、カスタムフィールドの順番を変更することは可能でした。
また、プラグインではデータベースに依存するような処理は行っていませんので、プラグイン側で何か対策を取ることは、おそらくできないと思います。
>>壱様
早速削除してみてどうなるか検証してみようかと思います。
また何かありましたらご報告させていただきます。
お早いお返事ありがとうございました。
はじめまして
検索していて、たどり着きました。
プラグイン利用させて頂きます。
現在、MT4.1で製作中ですが、苦戦しています。
とても参考になりました。
素晴らしいプラグインをありがとうございました!
>サンラメラさん&muneさん
こんにちは。
プラグインご利用ありがとうございました。
前回質問させていただいたNASTYです。
申し訳ございません、カスタムフィールドがソートできなくなるのはこちらのプラグインの影響ではありませんでした。
バックアップ→復元によるデータの重複によるものでした。
お騒がせ致しました。
MTSubCategoriesではsort_byが無いと知り、sort_methodに時間を割いて何とかしなければ…と思っていたところにこのプラグインが見つかり、非常に時間の節約になりました。
素晴らしいプラグインをありがとうございます。
>harryさん
こんにちは。
プラグインご利用ありがとうございました。
Movabletype4スーパーカスタマイズブックを購入し、大変参考にさせていただいております。
カテゴリーの並べ替えに挑戦して、失敗してしまいました。管理画面ではきちんと表示されているのにサイトには反映されません。
一度ファイルをアップする場所を間違ったままインストールしてしまいました。こちらが原因なのでしょうか?他のサイトではうまく動いてるのですが・・・。
ご指南いただけないでしょうか?
よろしくお願いいたします。
>shincafeさん
こんにちは。
ご質問の件ですが、管理画面で正しく表示されていることからすると、プラグインのインストールは問題なく行われていて、テンプレートの書き換えを間違っている状態だと思います。
もう一度、MTTopLevelCategories等のタグに「sort_method="SortCatFld::Sort"」のモディファイアを正しくつけたかどうかをご確認ください。
お世話になっております。
以前教えていただいた当プラグインのアンイストール方法を実行しました。
>1.「plugins」→「SortCatFld」ディレクトリを削除します。
>2.「mt-static」→「plugins」→「SortCatFld」ディレクトリを削除します。
>3.phpPgAdmin等を利用して、データベースの「mt_category」テーブルから、「category_order_number」のフィールドを削除します。
アンインストールは無事に完了したのですが、その後またインストールしようと、mt-static及びpluginsにファイルを置いてMTの管理画面に入ったのですがインストールがはじまらず、「ブログ記事」等を選択すると以下のエラーになってしまいます。
Can't call method "parent" on an undefined value at lib/MT/Category.pm line 258.
再度インストールする方法をどうか教えていただけないでしょうか。
よろしくお願いします。
>NASTYさん
こんにちは。
ご質問の件ですが、21番のコメントの操作を行ってください。
>>壱様
お早いお返事ありがとうございます。
早速試してみたのですが、管理画面に入ろうとすると「自動転送がループしています」と表示されてしまいます。
解決法がわかりましたら教えて下さい。
MTのバージョンは、4.13です。
よろしくお願いします。
>NASTYさん
こんにちは。
データベースのアップグレードの際には、MTの内部で、mt.cgiからmt-upgrade.cgiへのリダイレクトが行われます。
「自動転送がループしています」というメッセージからすると、mt-upgrade.cgiからまたmt-upgrade.cgiへリダイレクトされて、それが延々繰り返されて、最終的にエラーになっているのではないかと思います。
ただ、なぜそのような現象になるのかは不明です。
SortCatFldプラグインを削除して、使うのをあきらめるぐらいしか、対策はなさそうです。
>>壱さん
ちょっと原因不明だったので探ってみます。
ご返答ありがとうございました。
カテゴリの並び替え、色々方法はあるもののこれが一番納得もできいいものですね!
しかし、現在最新の4.2では反映されません…
どんなに再構築しても並び替えが反映されませんでした。
是非とも4.2でも有効なものを希望します!
よろしくお願いします!
すいません補足です。
最新の4.22です。4.21までは対応しているんですね。
残念です…
ぜひとも4.22でも有効なのをお願いします!
>ToMoさん
こんにちは。
このプラグインはMT4.22でも動作します。
実際、当ブログでも4.22で使っていて正しく動作しています。
そちらで動作しない原因は、申し訳ありませんが、そちらの環境を見てみないことには分かりません。
>このプラグインはMT4.22でも動作します。
そうなんですか!?
プラグインも問題なく入り、管理画面でも問題なく順番を変更できます。
が、再構築しても表示画面では変化がないのです。
なにか特別なタグがいるのかしら…
デフォルトのままなんですが。
>そちらの環境を見てみないことには分かりません。
4.22で間違いありませんし、サーバーの問題でしょうかね…
申し訳ありません、テンプレートの中に
sort_method="SortCatFld::Sort"
を入れておりませんでした。
4.22でもきちんと動作いたします。
MTにとっては嬉しいプラグインをありがとうございます!
こんばんは、はじめまして。
MTOS 4.22に、このプラグインをインストールさせて頂いたのですが、
下記のようなエラーでデータベースをアップグレードに失敗してしまいます。
---
アップグレード中にエラーが発生しました failed to execute statement ALTER TABLE mt_ts_funcmap ADD CONSTRAINT mt_ts_funcmap_funcname UNIQUE (ts_funcmap_funcname): Duplicate key name 'ts_funcmap_funcname' at lib/MT/Upgrade.pm line 2553.
---
4.22はインストールしたてで、何もいじってない状態です。
何かおわかりになりましたら、アドバイスお願い致しますm(_ _)m
匿名で書き込んでしまいました。
失礼いたしました。
先ほど、MTOS 4.22ではなく、MT 4.22で同じようにインストールしてみましたが、
同じところで同じエラーとなりました。
他の方は4.22で使えるとのことなので、当方のサーバーの問題なのでしょうか・・・
何度もすみません。
その後、色々調べ、mysqlのテーブル「mt_ts_funcmap」内の
「ts_funcmap_funcname」を削除すればいいのではと思いやってみましたが、
同じエラーが出て無理でした。
「ts_funcmap_funcname」を削除しても、アップグレードでエラーが出た後には「ts_funcmap_funcname」の項目が復活していました。
当サーバーはレンタルサーバーなのですが、
MySQL version 3.23.58 となっており、バージョンが古いのが原因かなと、素人ながら思っております。
サーバ屋にも相談してみます。
>コッケさん
こんにちは。
ご質問の件ですが、シックスアパートの正式な仕様では、MT4.2はMySQL 4.0以降対応です。
3.23.58で動作させるのは無理かもしれません。
ご回答ありがとうございます。
色々試しましたが、どうやら無理のようです。
サーバー屋に相談してみます。m(_ _)m
非常に使い勝手がよく、必要性の高いプラグインの作成、
ありがとうございます。
とてもありがたく使用させていただいております。
ところで、MTEntryCategories では sort_method="SortCatFld::Sort" を使用できないようですが、
これには対応していただけないでしょうか?
>palayoさん
こんにちは。
プラグインご利用ありがとうございます。
MTEntryCategoriesタグにも対応させようと思えば対応させられますが、申し訳ありませんが今のところ行う予定はありません。
インストールはできたのですが、
テンプレートの中で、MTSubCategories/MTTopLevelCategories/MTSubFolders/MTTopLevelFoldersタグを使っている箇所を検索しても見当たりませんと表示され途方にくれております。
なにか、ヒントありませんでしょうか?
>kaiさん
こんにちは。
現在のMTのテンプレートでは、「MT」の後に「:」を入れることもできます。
また、タグを大文字/小文字どちらで書いても構いません。
以下のように検索すれば、上記のすべての書き方を検索することができます。
1.ブログのメニューで「デザイン」→「テンプレート」を選びます。
2.ページ右上の「検索 テンプレート」の欄で、虫眼鏡のアイコンをクリックします。
3.検索条件を入力する画面が表示されます。
4.「正規表現」のチェックをオンにして、検索のキーワードとして以下のように入力します。
mt:?(sub|toplevel)(categories|folders)
5.「検索」ボタンをクリックします。
いつもお世話になっております。
MTを4.21から4.23へアップグレードし、新規に投稿すると、記事構築中に Cannot find column 'order_number' for class 'MT::Category' というエラーが発生するようになってしまいました。カテゴリの並び替えでも同様のエラーが出てしまいます。アップグレードは、新規フォルダーにMT4.23をアップロードして、pulginを移動させ、MTにアクセスしてアップグレードするという方法でした。
そこで、No.37のKoyuさんのコメントを見て、lib\MT\Category.pmの25行目「'basename' => 'string(255)',」の後に、「'order_number' => 'integer',」を追加すると、エラーが消え無事に動くようになりました。'int(11)'ではだめでした。
ちなみに私のローカルPC(Vista, IIS7)にもMTをインストールしてあり、そちらのアップグレードでは問題がありませんでした。ただし、pluginsフォルダーにSortCatFldをコピーし忘れており、アップグレード後にMTへアクセスするとSortCatFldがないと怒られ、コピーして再度MTへアクセスしました。この時に再びアップグレード画面が出てアップグレードを実施しました。
サーバーとローカルPCの経験から、MTのアップグレード時には、SortCatFldを除いてアップグレードし、再度SortCatFldをpluginsフォルダーにアップロードするという手順が必要なのでしょうか。
よろしくお願いします。
>おおさこさん
こんにちは。
これまでに、アップグレード時にトラブルが起こる事例がいくつか報告されていますが、それらからすると、データベースの種類・バージョンや、サーバーのモジュールのバージョン等の兼ね合いで、特定の状況でのみトラブルが起こるようです。
ただ、アップグレードの処理はMTの内部で行われていますので、申し訳ありませんが、プラグイン側では対処することができません。
シックスアパートに、そちらの詳細な状況(データベースの種類・バージョン等)を報告された方が良いかと思います。
ちなみに、本来あるべき動作は、プラグインをわざわざ一時的に削除したりしなくても、すんなりとアップグレードが行われることです。