お知らせ

WordPress関数リファレンスガイド2010年11月18日

WordPress関数リファレンスガイド」が発売されました。
WordPressでテンプレートをカスタマイズしたり、テーマを作ったりしたい方に向けた、テンプレート内で使う各種の関数のリファレンス本です。
WordPress 3.0に対応しています。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグイン(SuperSort)の使い方

カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグイン(SuperSort)の使い方をまとめたページです。

1.ダウンロード

以下のリンクをクリックすると、プラグインのファイルをダウンロードすることができます。

2.使い方

このプラグインの使い方は、以下の各ページを参照してください。

3.ライセンス

SuperSortプラグインは、以下のライセンスでご提供します。

3-1.商用ライセンスのMTと組み合わせる場合

商用ライセンスのMovable Typeと組み合わせる場合は、有償とさせていただきます。
料金は、導入先のMovable Type1件につき3,000円とします。
お振込み方法等の詳細につきましては、メールフォームからお問い合わせいただきますようお願いします。

なお、アカデミックライセンスと組み合わせる場合は、無償とさせていただきます。

3-2.個人無償ライセンスのMTと組み合わせる場合

個人無償ライセンスと組み合わせる場合は、無償でご利用いただくことができます。
ただし、以下に従ってご利用いただきますようお願いします。

  • 改変・再配布は自由に行っていただいてかまいません。
    ただし、ソースコード中のクレジットは残しておいてください。
  • 無料でご利用いただくことができます。
    ただし、プラグインの開発やサポートのご支援のために、ドネーションをご検討いただければ幸いです。
  • 当プラグインは無保証で提供します。

3-3.MTOSと組み合わせる場合

  • GPLv2に従います。
  • 無料でご利用いただくことができます。
    ただし、プラグインの開発やサポートのご支援のために、ドネーションをご検討いただければ幸いです。

トラックバック(0)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/1671.

コメント(スレッド25件,コメント50件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 daizi : エラーについて

正式版のリリースおめでとうございます。

ベータ版から使わせていただいていました。プラグインを追加した当初は順調に稼動していたのですが、何かのタイミングでエラーが発生するようになりました。

カテゴリの並び順を変更しようとすると「カテゴリの並び順の保存に失敗しました。」というエラーや
再構築の際に

タグでエラーがありました: categoriesの並べ替えでエラーが発生しました: Cannot find column 'order_number' for class 'MT::Category' /public_html/blog/mt/plugins/SuperSort/lib/SortCatFld.pm line 6

というエラーが発生します。

ウィジェット>カテゴリアーカイブ>

のように記述しています。

長文失礼いたしました。
ご回答いただけると幸いでございます。
宜しくお願い致します。

No.2  : Re:エラーについて

>daiziさん
こんにちは。

ご質問の件ですが、何らかの原因で、データベースのmt_categoryテーブルのcategory_order_numberフィールドがなくなってしまったのではないかと思います。
phpMyAdminを使うことができるのであれば、MTのデータベースのmt_categoryテーブルに、手作業で「category_order_number」フィールドを追加してみてください。
なお、フィールドの種類は「INT」で、長さは「11」、デフォルト値は「NULL」で、「NULL」のチェックはオンにします。それ以外の項目は空欄のままにします。

No.3 daizi : (無題)

返信をいただきありがとうござます。

>phpMyAdminを使うことができるのであれば、MTのデータベースのmt_categoryテーブルに、手作業で「category_order_number」フィールドを追加してみてください。

さきほど確認しましたが、「category_order_number」フィールドは存在しているようでした。
一度削除し、指定していただいた内容でフィールドを追加しましたが同じエラーが表示されます。

なぜでしょうか…。わかりません。

No.4  : (無題)

>daiziさん
こんにちは。

申し訳ありませんが、そちらのサーバーで動作を追ってみないと、原因は分からなさそうです。

ちなみに、このプラグインではテーブルにフィールドを追加しますが、そのような動作をするプラグインは、環境等の原因で、サーバーによっては動作しないことがあります。
これまでにも何度か同様の現象の報告を受けています。
ただ、テーブルにフィールドを追加する処理は、MTの内部で行われていますので、プラグイン側での対処ができないのが現状です。

No.5 E110 : sort_methodモディファイア

正式版リリースされていたとは知りませんでした(笑)
早速ですが、1つ要望があります。
sort_methodモディファイアをmt:categoriesブロックタグで使えるようにして欲しいです。
カテゴリ別の検索ボックスを設置しているのですが、mt:categoriesブロックタグで使えない為、並べ替えが出来ません。
http://www.materializing.net/archives/2008/07/23004337.php

よろしくお願いします。

No.6  : Re:sort_methodモディファイア

>E110さん
こんにちは。

そちらのページを拝見しましたが、mt:Categoriesブロックタグの部分を以下のように変えれば、ご希望の動作になると思います。

<mt:SortedTopLevelCategories>
<option value="<$mt:CategoryLabel$>"><$mt:CategoryLabel$> [<$mt:CategoryCount$>]</option>
<$mt:SubCatsRecurse$>
</mt:SortedTopLevelCategories>

ちなみに、MTCategoriesタグにsort_methodモディファイアを付けるには、MT本体のソースを書き換える必要があります。

No.7 E110 : ありがとうございます

ご指摘の通りにソースを修正したら成功しました!
ありがとうございました。

No.8 俊彦 : (無題)

SuperSortプラグインをMTOSで利用させていただいております。
ありがとうございます。

ところで、先日新たに設置したMTOSにSuperSortプラグインを導入したところ、いったんは正常に動作したものの翌日になると動作しなくなって(並べ替えられなくなって)しまいました。

うっかり間違えてRC版を導入していたので、いったん削除してあらためて正式版を導入しましたが、変わりません。
なんとか再度正常に動作させたいのですが、プラグインを削除し再アップロードではダメでしょうか。

ちなみに同一サーバーの別ドメインでは、SuperSortがなんら問題なく動作しています。
ですから、サーバーとのマッチングといった問題ではないように思えます。

お手数をおかけして恐縮ですが、ご教示いただければ幸いです。

No.9  : (無題)

>俊彦さん
こんにちは。

申し訳ありませんが、いただいた状況だけだと、動作しなくなった原因は不明です。

No.10 俊彦 : (無題)

さっそくのお返事ありがとうございます。

どのような情報をお伝えすれば、原因を特定できそうですか?
お教えいただければ、可能なかぎり調べてお伝えします。

また、繰り返しになりますがプラグインがうまく動作しないため削除→再インストールをおこなっても変化がないのは、なぜでしょうか。
なにか他にも削除すべきものがあるのであれば、お教えください。

以上、宜しくお願い致します。

No.11  : (無題)

>俊彦さん
こんにちは。

このプラグインは、データベースのテーブルにフィールドを追加しています。
そのため、プラグインのインストールをやり直すには、プラグインのファイルを削除するだけではだめで、フィールドを削除してテーブルを元に戻す必要があります。

このプラグインを削除する手順は、以下のようになります。

1.アップロードしたファイルをすべて削除します。
2.phpMyAdmin等を使って、MTのデータベースを操作できる状態にします。
3.mt_entryテーブルからentry_order_numberフィールドを削除します。
4.mt_categoryテーブルからcategory_order_numberフィールドを削除します。
5.mt_placementテーブルからplacement_order_numberフィールドを削除します。
6.mt_configテーブルにレコードが1つだけあると思いますので、そのレコードを編集する状態にします。
7.config_dataフィールドの値の中に以下のような部分がありますので、それを削除して、レコードを保存します。

PluginSchemaVersion super_sort=1.00

なお、プラグインが動作しない原因を調べるには、おそらくそちらのサーバーにログインしてデバッグすることが必要です。

No.12 俊彦 : (無題)

このたびは、ご丁寧にお教えいただきまことにありがとうございました。

ただ、お教えいただいた削除方法は全データの削除が前提となっているため、あれこれカスタマイズしている身としては厳しいです。
また、お教えいただいたデータベースの操作も、残念ながら現時点での私には技術的なハードルが高すぎました。

そこで、このページに書かれている「remove_html="1"」を追記する方法で、ひとまず並び替えを行いました。
スマートな方法ではないかもしれませんが、同様の事象でお悩みの方がいらっしゃいましたら参考になさってください。

http://archive.mag2.com/0000169548/20080514100937000.html

No.13 (匿名) : (無題)

いつも、お世話になっております。
さて、早速ですが、同一階層にフォルダとウェブページが存在した場合に、フォルダとウェブページも並び替える手段はないでしょうか?

No.14  : (無題)

>匿名さん
こんにちは。

申し訳ありませんが、フォルダとウェブページを混在させて並べ替える機能はありません。

No.15 (匿名) : (無題)

早速のご返信ありがとうございます!
了解いたしました。

No.16 MI : 並び替え時にドラッグした対象が消えてしまう

SuperSortプラグインを導入させていただきました。
大変便利なプラグインで、非常に重宝しております。

1点、並び替え画面にて不可解な現象が発生しておりまして、
こちらについて一度見解をいただけないかと思い、コメントいたしました。

●導入したプラグインのバージョン
ver 1.00

●現象の発生手順

1.空のカテゴリを2つ用意する
2.片方の空のカテゴリをクリックし、中身がロードされた状態にする(フォルダの開いたアイコン)
3.ロードされた状態のカテゴリに、もう片方の空のカテゴリをドラッグする
4.3でドラッグしたカテゴリが消えてしまう

その状態で保存した場合、並び替えは正常に行えております。
ただ、3でドラッグしたカテゴリが空ではなく、
サブカテゴリやエントリーを持っていた場合もそのまま消えてしまうため、
一度保存をしないとその後の操作に少々戸惑います。

また、エントリーをドラッグした場合は、正しく子として表示されます。

●発生を確認したMT
・MTOS 4.31
・MovableType 4.261


ローカル、またサーバー上で確認をしているのですが、
一度ご確認いただけませんでしょうか?

どうぞよろしくお願いいたします。

No.1 footbrain : (無題)

いつもお世話になってます。

Movable Type Pro version 4.33-jaで、カテゴリーを指定してブログ記事を保存しようとすると、loadingが延々と続いたあげくエラーが発生し、保存終了時の画面に戻ってこないというトラブルに見舞われました。この時「変更を保存しました。 」と表示はありません。
カテゴリーを指定しない場合はエラーは発生しないので、試しにSuperSortを無効にしてみたところ、エラーは解消し、カテゴリーを指定しても保存することができました。

このトラブルの原因はどこにあるのでしょうか?
何か考えられる事はありますか?

No.2  : (無題)

>footbrainさん
こんにちは。

こちらでMT4.33環境で試してみましたが、問題なく動作しました。
申し訳ありませんが、そちらの環境で動作を追ってみないと、原因は分からないです。

No.3 footbrain : (無題)

返信ありがとうございます。

>こちらでMT4.33環境で試してみましたが、問題なく動作しました。

そうでしたか。お手数をお掛けして申し訳ありませんでした。

こちらでも、組み合わせるプラグインを変えて再度テストしてみたのですが、

公開保存は、正常に動作しています。
未公開保存の場合、保存はできているのですが、タイムアウトでもしているようで、数分経過しても「新しいブログ記事を作成」画面に戻ってくる事ができずにエラーになっているようでした。

No.4 footbrain : (無題)

>壱さん
MT4.34にアップグレードしたところ、既存の問題は解消され、正常に動作しています。

MT4.33に問題があったようですね。
お手数をお掛けしました。

No.5 ロン : (無題)

いつもお世話になっております。

SuperSortで1つ質問があります。

こちらで配布されているプラグインではないのですが、記事で設定したタグが他の記事と重複した場合に関連記事として出力できるタグ機能拡張のプラグインを使用しています。
ttp://code.google.com/p/ogawa/wiki/TagSupplementals_Plugin

しかし、例え同じタグが設定されていても、属するカテゴリが同じでなかった場合は関連記事として出力されないので困っているのですが、これはSuperSortと併用しているのが原因という可能性はありますでしょうか。

他所様のプラグインの話も混ざっており大変恐縮なのですが、ご教授いただけると助かります。

宜しくお願い致します。

No.6  : (無題)

>ロンさん
こんにちは。

こちらで試してみた限りでは、SuperSortプラグインが入っている環境でも、TagSupplementalsプラグインでの関連記事表示を問題なく行うことができました。

ちなみに、MySQLの文字コードの関係で、「同じタグが正しく認識されない」という現象が起こることがあります。
以下の記事を参照してみてください。

http://www.apstars.com/blog/211movable_type4/mt4_20.php

No.7 ロン : (無題)

ご返答ありがとうございます。

ご提示頂いた情報を参照してみたのですが、MySQLの文字コードは元々UNICODE(UTF-8)でしたので問題なさそうでした。

そこからタグ一覧ページを見ていた所、同じタグ名をつけたつもりが一文字だけ大文字になっている事に気づきました…

まさかこの大文字・小文字の違いで別のタグと認識されているのではと思い、修正してみると無事に関連記事として出力されました。

完全に私のミスで、さらに他所様のプラグインの話にも関わらずわざわざ検証までしていただいて本当にありがとうございました。

これからタグを記述する際は、全て小文字に統一するように注意します。

ではこれからもブログの更新楽しみにしています!

No.8 スパークジャパン 磯谷 : Super Sort を発注いたします

藤本様

お世話になります。
スパークジャパンの磯谷です。

弊社で2度ほど利用した、MTプラグイン機能であるSuper Sortを使わせていただきたいとおもいます。

つきましては、発注手続きをお願いします。
よろしくお願いします。

No.9 でぷ : 1.10rc2の不具合でしょうか?

いつも大変お世話になっております。
只今自社サイト開発用にMT5.02環境でver1.10rc2を試用させていただいています。
フォルダとウェブページの並べ替え画面で複数フォルダを同時に展開しようと一度にクリックすると、展開後のサブフォルダ・ウェブページの構成が正しく表示されないようです。
一つずつフォルダ展開するようにすれば済むのですが、どうしても同時展開したがるユーザーもいるため少々困っています。
何か回避方法はございますでしょうか?

No.10 ワイコード : モジュールの共有に関して

いつも大変お世話になっております。
素晴らしいプラグインの数々および書籍等ありがたく利用させていただいております。
さて、当方MTOS5.03にて10rc2を利用させていただいておりますが、モジュール共有のところで少し引っかかってしまいました。

ウェブサイトのフッターナビ部分モジュールの共有にて

<p><a href="<$MTGetVar name="top-url"$>">TOP</a> |
<mt:BlogParentWebsite>
<mt:SortedPages tags="NOT @thanks">
<a href="<$MTPagePermalink$>"><$mt:PageTitle$></a> |
</mt:SortedPages>
</mt:BlogParentWebsite></p>

というモジュールを子ブログのテンプレートからから呼び出したところ「カテゴリ別ブログ記事リスト」テンプレートだけが言うことを聞いてくれず表示されませんでした。その他の「メインページ」および「ブログ記事」に関しては特に問題ありませんでしたので呼び出し方に問題は無さそうなのですが…。
また、

<p><a href="<$MTGetVar name="top-url"$>">TOP</a> | 
<mt:BlogParentWebsite>
<mt:Pages tags="NOT @thanks">
<a href="<$MTPagePermalink$>"><$mt:PageTitle$></a> | 
</mt:Pages>
</mt:BlogParentWebsite></p>

に戻したところ子ブログの「カテゴリ別ブログ記事リスト」でも問題なく表示されましたので何か問題があるのかなと思いご報告させていただきました。テンプレートは完全にカスタムですのでそのあたり何か気がつかない部分もあるかと思いますが、もし解決方法等があれば教えていただけないでしょうか?

説明不足の部分が多々あるかと存じますが、補足させていただきますので何卒よろしくお願いいたします。

No.11  : Re:モジュールの共有に関して

>ワイコードさん
こんにちは。

以下を試してみてください。

1.拙作のForceIndexContextプラグインをインストールします。

http://www.h-fj.com/blog/mt5plgdoc/forceindexcontext.php

2.モジュールの先頭に「<mt:ForceIndexContext>」のタグを追加します。
3.モジュールの最後に「</mt:ForceIndexContext>」のタグを追加します。

なお、MTSortedPagesタグは、tagsモディファイアには対応していません。

No.12 ワイコード : (無題)

返信ありがとうございます。
ForceIndexContextプラグイン試させて頂きました。
ばっちり問題なく表示されました。ありがとうございます。

>なお、MTSortedPagesタグは、tagsモディファイアには対応していません。
やっぱりそうですよね。すみません。
MTIfでかわしました…。

今後とも何卒よろしくお願いいたします。
ありがとうございました。

No.13 junior908 : PostgreSQLでERROR: invalid input syntax for integer: ""

juniorと申します。SuperSortをインストールしたのですが、
ブログ記事の編集⇒確認⇒ブログ記事の保存 の順で操作すると、
以下のように(PostgreSQLのログです)データベースエラーとなります。
解決できるとありがたいのですが、調べてみてはいただけませんで
しょうか。

2010-09-14 21:19:58 JST(mt4%mt4mnt)ERROR: 22P02: invalid input syntax for integer: ""
2010-09-14 21:19:58 JST(mt4%mt4mnt)LOCATION: pg_atoi, numutils.c:54
2010-09-14 21:19:58 JST(mt4%mt4mnt)STATEMENT: INSERT INTO mt_entry
(entry_id, entry_allow_comments, entry_allow_pings, entry_atom_id, entry_author_id, entry_authored_on, entry_basename, entry_blog_id, entry_category_id, entry_class, entry_comment_count, entry_convert_breaks, entry_created_by, entry_created_on, entry_excerpt, entry_keywords, entry_modified_by, entry_modified_on, entry_order_number, entry_ping_count, entry_pinged_urls, entry_status, entry_tangent_cache, entry_template_id,
entry_text, entry_text_more, entry_title, entry_to_ping_urls, entry_week_number)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $2
8, $29)
○環境は
MTOS 4.261
SuperSort 1.00
PostgreSQL 8.3.3, 8.3.11, 8.4.4
shiftjisでpublish
○プログ記事の編集画面から、確認を経ないで保存することはできます。
○PostgreSQLでは、integer型のカラムに ""(長さ0の文字列) は設定できません。
perl, DBD::Pgの場合、undef であれば NULLとして保存されるようです。
例えば SQLiteだと、データ型の厳密な取り扱いをしないので insert, updateとも
""で問題なかったのだと思います。MySQLは経験が乏しく分かりません。

No.14 ごろ : MT5にて、並び替えができません

プラグイン:SuperSort 1.10b1
Movable Type Pro version 5.031
サーバ:さくらインターネットスタンダード/heteml


サイドメニューの「カテゴリとブログ記事の並び替え」をクリックすると、「カテゴリとブログ記事の並び替え」ページに移動するのですが、「変更を保存」ボタンが2つ表示されるだけで、並び替えのツリーが表示されません。当方、サーバーを2つもっていますが、どちらも同じ状態です。

ブラウザのエラーコンソールをのぞくと、以下のエラーが出ます。

TypeError: Result of expression '$('#root_ctx > li')' [null] is not an object.

JSのエラーのようですが、様々なブラウザを利用しても解決しませんでした。
お手数おかけ致しますが、解決法等ございましたら、ご教授いただけると幸いです。

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

No.15  : (無題)

>ごろさん
こんにちは。

この記事の情報が古いままで、ご迷惑をおかけしました。
現在はバージョン1.10rc2になっていますので、そちらをお使いください。

http://www.h-fj.com/mt_plugin/SuperSort_1_10rc2.zip

No.16 八木明子 : カテゴリやフォルダの一覧が表示されない

いつも役にたつ情報やプラグインをありがとうございます!!

SuperSortの導入を検討中なのですが、
「カテゴリとブログ記事の並べ替え」画面が
↓このような画面になり、一覧が表示されません。
http://a-form.sakura.ne.jp/temp/2010-11-17_142915.png

MT 5.03 Pro
SuperSort 1.10b1
ブラウザ IE8, Opera

[ブログ記事とカテゴリの並べ替えを許可する]にチェックを入れてあります。「カテゴリとブログ記事の並び順の初期化」も試してみましたが変化なしです。フォルダについても同様の現象でした。

原因や対処方法などアドバイスいただければ幸いです。
お忙しい所恐縮ですが、どうぞよろしくお願いいたしますハート

No.17  : (無題)

>八木明子様
お世話になっております。

ダウンロードのリンクが古いままでご迷惑をおかけしました。
以下から新しいバージョンをダウンロードしてください。

http://www.h-fj.com/mt_plugin/SuperSort_1_10rc2.zip

No.18 八木明子 : バージョンアップして解決しました!

壱さん、
バージョンアップしたら無事解決しました!
早々のお返事ありがとうございますm(__)m

No.19 みのる : SuperSortは複数カテゴリでも使用できるでしょうか

素晴らしいプラグインと書籍、その他ホームページの情報等ありがたく利用させていただいております。
本当にありがとうございます。

特に、SuperSort はMTをCMSとして使いこなすのに、欠くことができないプラグインの一つです。


早速でございますが、SuperSort は1つのブログ記事を複数カテゴリーに登録した場合には対応していないのでしょうか。
どれか一つのカテゴリーの並び順は保存されるのですが、他のカテゴリーの並び順は保存されていないようです。
複数カテゴリーに対応した仕様であれば、大変ありがたいのですが…

No.20  : Re: SuperSortは複数カテゴリでも使用できるでしょうか

>みのるさん
こんにちは。

ご質問の件ですが、ブログ記事を複数のカテゴリに割り当てた場合でも、カテゴリ毎に並び順を保存することができるように作ってあります。
保存できていないとすれば、何らかの問題が発生していると思われます。

No.21 みのる : (無題)

早速返信していただけまして恐縮です。

複数カテゴリに対応しているとのことで、私の環境の問題ですね。
安心しました。
ありがとうございます!!!

No.22 みのる : 複数カテゴリを指定した場合の並び替えの保存につきまして(再度)。

藤本 様

昨日、SuperSortの複数カテゴリの使用の可否につきまして、ご連絡させていただいた「みのる」です。

その後、動作を確認してみましたところ、次のようなときに、並べ替えが保存されないことがわかりましたので、ご連絡させていただきました。

(並べ替えが保存されない場合)
********************************************************
1つのブログ記事に複数カテゴリを割り当てる。

「SuperSort」のカテゴリとブログ記事の並べ替えの管理画面で、割り当てたカテゴリーごとでブログ記事の並び順を指定して、「変更を保存」ボタンをクリックして、保存する。
※この時点では、並び順は保存されています。

しかし、その後、すぐに再構築はしないで、同管理画面のコマンド「ブログ記事の編集」でブログ記事を呼び出したうえ、保存する。

再度、カテゴリとブログ記事の並べ替えの管理画面に戻ると、変更したブログ記事の並び順が元に戻っている。
※ただし、複数カテゴリのうち、一つだけは並び替えが保存されている。

これに対して、管理画面で、割り当てたカテゴリーごとでブログ記事の並び順を指定して、「変更を保存」ボタンをクリックして保存したあと、すぐに再構築すれば、すべての複数カテゴリで並び替えが保存されている。

しかし、この場合でもあっても、その後、そのブログ記事を再度呼び出して個別に「保存」をかけると、並べ替えが失われ、並び順が元に戻っている。

********************************************************

以上、再現性がありますので、単にPCの環境の問題ではないような気もしましので、ご報告させていただきました。

お時間があれば、ご検討していただけると幸いでございます。

No.23 みのる : (再送)すみません。前回、話がくどくなりましたので、状況を簡単にまとめて直します。

藤本 様

たびたび申し訳ございません。

「みのる」です。

先ほどのコメントにつきまして、長くなりましたので、簡単にまとめなおしてみました。

要は、管理画面で並べ替えを保存した後、ブログ記事を更新・編集するなどのため個別に(複数カテゴリに登録した)ブログ記事を「保存」すると、並べ替えが失われる、ということだと思います。

※ただ、この現象は再現性はあるのですが、1つのPC環境でしか試していません。

No.24  : (無題)

>みのるさん
こんにちは。

現在外出中なのですぐには調べられませんが、いただいた現象から、原因はだいたい予測がつきました。
修正までいましばらくお待ちください。

No.25 みのる : (無題)

藤本様

お忙しいのに恐縮です。

「原因が予測がつく」とのこと。
もし、「修正」していただけるのであれば、また理想的なCMSに近づきます。

本当にうれしいですハート
足を向けて寝れません。ほんとに…

No.26  : (無題)

>みのるさん
こんにちは。

No.24で書いたことは間違いでした(予測したことに対する対処は、すでに実装済みでした)。
申し訳ありません。

ただ、プラグインの不具合かどうかを探っていたときに、プラグインではなく、MT側の不具合と思しき現象によって、並び順が正しく保存されない事例を、偶然にも見つけました。
もしかすると、そちらでも同じ現象が起こっているのかも知れません。

以下の手順で、その現象が起こっているかどうかを確かめてみてください。

1.phpMyAdminにログインします。
2.MTのデータが入っているデータベースを操作する状態にします。
3.「SQL」のタブを開きます。
4.以下のSQLを実行します。

SELECT *
FROM `mt_placement`
WHERE `placement_order_number` IS NULL

5.4.の結果でレコードが1件でも見つかれば、こちらで起こっているのと同じ現象が起こっています。この場合は、以下のSQLでデータベースを修正すれば問題が解決するはずです。
ただし、データベースからレコードを削除する処理なので、SQLを実行する前に、絶対にデータベースをバックアップしておいて、万が一の事態に備えてください。

DELETE FROM `mt_placement` WHERE `placement_order_number` IS NULL

6.4.の結果でレコードが見つからない場合は、申し訳ありませんが原因不明です。

No.27 みのる : ご親切な返信ありがとうございます。結果をご報告します。

藤本 様

この度は大変お手間を取らせてしまいました。
申し訳ございません。

また、手順までご丁寧に示していただき、本当にありがとうございます。

遅くなりましたが、結果をご報告させていただきます。
結論から言いますと、残念ながら現象は改善できませんでした。

藤本様のご指摘のとおり、「mt_placement」テーブルで、「placement_order_number」フィールドの値がヌルのレコードは200件以上ありました。

しかし、テーブルのバックアップをとったあと、placement_order_number」フィールドの値がヌルのレコードをすべて削除してみたのですが、個別にブログ記事を保存すると、やはり、並べ替えが元に戻っています。

藤本様の今日の「Movable TypeのORMは、left joinに対応…」云々の記事を読みながら、これが関係しているのかなとも思いながら、MTをヴァージョンアップ(私は、少々古いのですが、4.1のヴァージョンを使用しています)したら、エラー回避できていることに期待をかけてみます。


最後に、この度は本当にありがとうございました。

No.1 みのる : Movable Type 5.1x用のSuperSort を使用した場合の不具合のご連絡

藤本 様

いつも大変お世話になっております。

このたびMovable Type 5.1の標準機能として並び替え機能がついたとのことで、これでやっとMTも本格的なCMSになってきたと喜んでいたのですが、並び替えができるのはカテゴリまでだったのですね。

やはり、まだまだ藤本様のSuperSort は欠かせないツールですね。


そこで、早速、お伺いしたいことがあります。
たとえば、MT4では、各ブログ記事のフッターで、「←前のページ |現在のカテゴリ| 次のページ→」といったようなナビゲーションを表示させるために、次のようなコードを書いていましたが、問題なく動いていました。

<MTSortedEntryPrevious>
<a style="text-decoration:none" href="<$MTEntryPermalink$>"><img src="/image/naviprev.gif" alt="" border="0" /></a>
</MTSortedEntryPrevious>

<MTEntryCategories>
| <a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a> |
</MTEntryCategories>

<MTSortedEntryNext>
<a style="text-decoration:none" href="<$MTEntryPermalink$>"><img src="image/navinext.gif" alt="" border="0" /></a>
</MTSortedEntryNext>


しかし、MT5.1とSuperSort_1_20b1.zipの組み合わせで、上記と同じコードを書くと、「<mtEntryCategories>タグでエラーがありました: <mtCategoryArchiveLink>タグでエラーがありました: <$MTCategoryArchiveLink$>タグを不正なコンテキストで利用しようとしました。」というエラーが発生してしまいます。

つまり、、「<mtEntryCategories>タグと<$MTCategoryArchiveLink$>タグの組み合わせで使用できないのです。
そこで、<mtEntryCategories>の代わりに、<MTSortedEntryCategories>
を使用すると、エラーは発生しないのですが、この部分は無視されて、<$MTCategoryArchiveLink$>タグを出力することができません。


お忙しいとは存じますが、何卒ご教授のほど、お願い申し上げます。

No.2  : Re:Movable Type 5.1x用のSuperSort を使用した場合の不具合のご連絡

>みのるさん
こんにちは。

申し訳ありませんが、こちらでは現象を再現することができませんでした。
また、MTEntryCategoriesタグのブロックの中でMTCategoryLabelタグが使えないというのも、起こらないはずのことです。
そちらの環境で動作を追ってみないと、原因をつかむことはできないと思います。

No.3 みのる : (無題)

早速のご回答ありがとうございます。

「環境」のせいなのでしょうか、MTSortedEntryNext とかMTSortedEntryPrevious、あるいはMTParentCategories タグでは何ら問題はありません。
しかし、MTEntryCategoriesタグで、MTCategoryArchiveLink とか MTCategoryLabel など、現在のブログ記事に関するカテゴリーのタグを使用しようとすると、エラーが出て使えません。


>>みのるさん
>こんにちは。
>申し訳ありませんが、こちらでは現象を再現することができませんでした。
>また、MTEntryCategoriesタグのブロックの中でMTCategoryLabelタグが使えないというのも、起こらないはずのことです。
>そちらの環境で動作を追ってみないと、原因をつかむことはできないと思います。

No.4 みのる : (無題)

お手数をおかけします。

並び順の初期化等、藤本様のホームページに記載していた手順を全て踏んでおります。

ただ、今、MTEntryCategoriesタグを使用する場合に、type="primary"という属性を指定してあげると(つまり、<MTEntryCategories>ではなくて、<MTEntryCategories type="primary">とする)、エラーが発生しなくなり、正常に作動するようになりました。

こうした対処が私の環境だけの問題なのかは不明ですが、一応問題は解決できたようです。

お手数をおかけいたしました。

ありがとうございました。

MTが真のCMSになるには、藤本様のSuperSortは不可欠です。
今後とも、日本のIT業界のため、ご活躍のほどお願い申し上げます。
しかし、そもそも、シックス・アパート社は、カテゴリーの並び替えに対処したくらいなら、なぜ、ブログ記事の並び替えにも対処しないのでしょう。
これが一番私は不思議です。
いわゆるブログ(日記)から汎用的なCMSへと脱皮するには、カテゴリーやページの並び替え機能は必須の機能だと思われるのですが…


>>みのるさん
>こんにちは。
>申し訳ありませんが、こちらでは現象を再現することができませんでした。
>また、MTEntryCategoriesタグのブロックの中でMTCategoryLabelタグが使えないというのも、起こらないはずのことです。
>そちらの環境で動作を追ってみないと、原因をつかむことはできないと思います。

No.5 t-yama : 他のブログから取得したカテゴリーの並び替えにつきまして

藤本様

いつもお世話になります。
お忙しいところ誠に恐縮ではございますが、ご質問させてください。

現在、1つのサイトを複数のブログから運用しております。
他のブログにあるカテゴリーを呼び出しての並び替えには対応しておりますでしょうか?

具体的には、下記のソースの場合に
・各ブログ内でのカテゴリーの出力順番
・各ブログの出力順番

■ブログid 4のインデックステンプレートで使う場合
---------------------------------------------
<mt:SortedTopLevelCategories include_blogs="6,12,15">
<MTEntries tag="○○">
<mt:Entrytitle>
</MTEntries>
</mt:SortedTopLevelCategories>
---------------------------------------------
の並び替えは可能でしょうか?

何卒宜しくお願いいたします。

No.6  : Re:他のブログから取得したカテゴリーの並び替えにつきまして

>t-yamaさん
こんにちは。

ご質問の件ですが、複数のブログにまたがる並べ替えには対応していません。
いただいた例だと、例えばID=6/ID=12/ID=15の各ブログの先頭のカテゴリを、どのように並べれば良いかを、プログラム的に決めることができません。

No.7 t-yama : (無題)

>藤本様

早速の御回答ありがとうございます。

並び替えに対応していないということで、承知いたしました。

>ID=6/ID=12/ID=15の各ブログの先頭のカテゴリを、
>どのように並べれば良いかを、プログラム的に決めることができません。

これは、6、12、15のどれを先頭に持ってくるのかを決めることができないということですか?

ID=6 の中での順番を決めて、ID=4のテンプレートで出力することはできますか?

たびたびのご質問で誠に恐縮ですが、宜しくお願いいたします。

コメントする