「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグイン(MT5用RC1)
カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグイン(SuperSort)の、MT5用RC1(リリース候補1)を公開します。
1.動作環境
今回のSuperSortプラグインは、Movable Type 5専用になります。
Movable Type 4.xでは動作しません。
また、並べ替えのユーザーインターフェースのライブラリを、jQueryのNestedSortableから、Ext JSのTreePanelに変えました。
これによって、対応Webブラウザが大幅に増えました。
こちらでテストした限りでは、以下のWebブラウザで動作しました。
OS | 対応Webブラウザ |
---|---|
Windows | Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 Firefox 3.6 Safari 4.0 Google Chrome 4.0 Opera 10.10 |
Mac OS X | Safari 4.0 Firefox 3.6 Google Chrome 5.0β Opera 10.10 |
2.インストール
プラグインのファイルは、以下からダウンロードします。
- Movable Type 5.0x用
SuperSort_1_10rc2.zip - Movable Type 5.1x/5.2x/6.0用
SuperSort_1_20b4.zip
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。
Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。
ダウンロードしたZipファイルを解凍すると、「plugins」と「mt-static」の2つのフォルダができます。
これらのフォルダを、Movable Typeのインストール先ディレクトリにアップロードします。
これまでSuperSortプラグインを使っていなかった場合、アップロード後にMovable Typeに初めてログインする際に、データベースのアップグレードのメッセージが表示されます。
画面の指示にしたがって、アップグレードの操作を行います。
3.利用方法
インストール後の利用方法は、従来のプラグインとまったく同じです。
利用方法は、「カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグイン(SuperSort)の使い方」のページを参照してください。
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください
cotenthe
run-periodic-tasksを実行すると
Use of uninitialized value in numeric comparison () at /~/mt5/plugins/SuperSort/lib/SortCatFld.pm line 6.
という結果が大量に吐き出されたのですが問題ないでしょうか?
壱からcotentheへの返信
>cotentheさん
こんにちは。
おそらく、カテゴリの並び順の初期化を行っていなくて、並び順の情報がないカテゴリがあるのだと思います。
当方でも、意図的にそのような状況を作り出すと、同じメッセージが出力されることを確認しました。
以下の記事に従って、カテゴリの並び順の初期化を行ってください。
http://www.h-fj.com/blog/archives/2008/10/21-102010.php
cotenthe
たびたび失礼します
MT5ログに下記ログが出ているのですが原因分かりますでしょうか
SuperSortでエラーが発生しました: Cant use an undefined value as an ARRAY reference at /mt5/plugins/SuperSort/lib/SuperSort/Transformer.pm line 55.
壱からcotentheへの返信
>cotentheさん
こんにちは。
Transformer.pmの55行目を以下のように書き換えてみてください。
・書き換え前
・書き換え後
cotentheからcotentheへの返信
壱さま
お返事が遅くなりました。
修正後、1日経過し色々操作してみましたがシステムログにエラーでなくなりました。ありがとうございます!
>>cotentheさん
>こんにちは。
>Transformer.pmの55行目を以下のように書き換えてみてください。
>・書き換え前
>if (scalar @$cats) {
>
>・書き換え後
>if ($cats && scalar @$cats) {
ノブ
MT5.02に、アップグレードしたのですがエラーが出てるようです。
クルクルと回って表示されません。
5.01までは、問題なく作動していました。初期化もしてみたのですが
解決しません。
僕のラップグレードに問題があるのでしょうか?
壱からノブへの返信
>ノブさん
こんにちは。
当方でも現象を確認しました。jQueryがらみの不具合です。
近日中に修正版を公開します。
上田からノブへの返信
横からすみません。
こちらのプラグインの修正版はいつごろリリースされますでしょうか?
このプラグインなしでは何ともならず、かなり頼りにしています。よろしくお願いします。
壱からノブへの返信
>上田さん
こんにちは。
修正版はすでにリリース済みです。
http://www.h-fj.com/blog/archives/2010/05/15-080919.php
上田からノブへの返信
修正版をインストールして無事に解決しました。
助かりましたぁ。ありがとうございます。
感謝感謝です。
藤井
SuperSortを使わせていただいていますが、
通常、<mt:pages>タグで<mt:else>を使用した場合、ページが存在しない時に表示する内容を設定できるのですが、
<mt:SortedPages>の時に上手く利用できません。
この機能はSuperSortでは対応していないのでしょうか。
壱から藤井への返信
>藤井さん
こんにちは。
申し訳ありませんが、現状はMTElseタグの機能は入れていません。今後のバージョンアップの際に追加します。
なお、以下のようにすれば、MTElseと同等の処理を行うことができます。
藤井から藤井への返信
ご返答ありがとうございます。
ご指摘の通りフラグなどの処理で上手く対応します。
わざわざありがとうございました。
mayona
並べ替え機能を有効にした後に不具合と思われる箇所があった為、ご質問させていただきます。
カテゴリーアーカイブにして以下のソース使用し、記事のリストを表示させました。
カスタムフィールドに値があった場合にその中身を表示させています。
●導入前
●導入後(「並べ替え機能を有効にする」にチェック後)
導入前は、タイトル及びカスタムフィールド共に表示されますが、導入後はカスタムフィールドのみ表示されなくなります。
該当記事の更新を掛けるとカスタムフィールドが表示されるようになりますので、
初期投入時と投入後の更新で挙動が異なっているうような印象を受けます。
ちなみに導入後のソースを使っていても、「並べ替え機能を有効にする」にチェックを入れない状態であれば、
タイトル、カスタムフィールドともに初期投入時に正しく表示されます。
EntyDateやEntryBodyも試しましたが、表示されますので、
カスタムフィールドと通常の入力フィールドとの間に何らかの挙動の差異がありそうな感じです。
MT5.06、プラグインは1.10rc2
です。
カテゴリーはトップレベルのみの選択です。
使い方そのものが誤っているかもしれませんが、
他に必要な情報などありましたら、お知らせください。
よろしくお願いします。
mayonaからmayonaへの返信
すみません。ソースです。
●導入前
<MTEntries lastn="0">
<li>MTEntryTitle><MTIF tag="custom_new"><img src="/images/new.png" alt="NEW"></MTIF></li>
</MTEntries>
●導入後(「並べ替え機能を有効にする」にチェック後)
<MTSortedEntries sort_order="ascend" lastn="all">
<li>MTEntryTitle><MTIF tag="custom_new"><img src="/images/new.png" alt="NEW"></MTIF></li>
</MTSortedEntries>
壱からmayonaへの返信
>mayonaさん
こんにちは。
こちらで動作を試してみましたが、申し訳ありませんが現象を再現することができませんでした。
そちらの環境でデバッグしてみないと、原因は不明です。