「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
エントリーの関連付けを行うプラグイン(MT4専用版・その1)
「エントリーの関連付けを行うプラグイン」のMT4専用版を公開します。
このプラグインは、エントリーどうしを関連付けて、それぞれのエントリーに、関連するエントリーの一覧を表示できるようにするものです。
今日はインストール手順を解説します。
1.旧版の削除
拙著「ブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニック」で公開している旧版のプラグインをお使いの方は、まずそれを削除します。
MTのディレクトリの中にある以下のファイルを削除します。
- mt-related-entries.cgi
- plugins/RelatedEntries.pl
- extlib/FJ/RelatedEntries.pm
- extlib/FJ/RelatedEntriesSub.pm
- tmpl/rel_entries.tmpl
2.ダウンロードとインストール
以下のリンクをクリックすると、プラグインをダウンロードすることができます。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。
Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。
ダウンロードが終わったら、ファイルを解凍します。
すると、「RelatedEntries」というフォルダができますので、そのフォルダごと、MTのpluginsディレクトリにアップロードします(pluginsディレクトリの中にRelatedEntriesディレクトリができるようにします)。
なお、今回のバージョンでは、Movable Typeのプラグイン多言語対応機能を使っています。
そのため、アップロードする際には、ファイルの文字コードを変えないようにします。
3.初期設定
アップロードが出来たら、初期設定を行います。
設定は個々のBlogで行います。
Blogのメニューで「設定」→「プラグイン」をクリックし、プラグインの一覧を表示します。
すると、プラグイン一覧の中に「Related Entries」がありますので、「設定を表示」のリンクをクリックして、設定を開きます。
このプラグインでは、あるBlogのエントリーから、同一MT内の他のBlogのエントリーにも関連付けを行うことができます。
関連付け対象のエントリーを一覧表示する際に、対象のBlogを選ぶことができます。
その対象のBlogの初期値を、「関連付けるブログの初期値」の箇所で指定します。
Ctrlキーを押しながらBlogの名前をクリックすることで、複数のBlogを選択することもできます。
また、関連先のエントリーを選ぶ際に、1ページに表示するエントリーの件数を指定することもできます。
設定が終わったら、「変更を保存」のボタンをクリックして、設定を保存します。
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください
寺山 銀
いつもありがたくプラグイン等使わせていただいております。
エントリーの関連づけを行う時、関連づける対象をチェック(両方向リンクなど)して保存すると、何故かサーバーエラー500が発生します。
4.1にバージョンアップをしてから起こっている気がするのですが…
画面上にはエラーとして次の内容が表示されます
エラーの原因として
・ 一行目のPerlのパスに誤りがある
・ ファイルのパーミッションに誤りがある
・ FTPの転送モードがASCII(テキスト)モードになっていない
・ 「require」文でファイルの指定に誤りがある
・ スクリプト内に記述ミスがある(特に「,」「;」「"」「'」の書き忘れ)
・ 改行コードが「LF」となっていない(特にMacユーザーの方はご注意ください)
・ .htaccessの内容が正しくない
といったことが考えられますので今一度ご確認ください。
ご不明な点がございましたらお客様担当者へお問合せください。
The server encountered an internal error or misconfiguration
and was unable to complete your request.
MTの設定画面、プラグインの画面にはきちんと表示されていますし、設定なども普通に出来ます。
tetblue
はじめまして。
プラグインの設置上手くいきました。丁寧な説明ありがとうございます。便利に使えそうです。
自分は、MT3.3>MT4.0>MT4.1とアップデートしてきたのですが、アップデートのみではいろいろうまく動かない所も多く、バックアップを取って新しく入れたMT4.1で動かしています。
このプラグインは新しく入れたMT4.1でしか試していないのでアップデートについてはわかりませんが、以前のものと仕様が結構変わっているのかなという印象があります。
壱からtetblueへの返信
>tetblueさん
こんにちは。
プラグインご利用ありがとうございます。
このプラグインは、画面のデザインは変わりましたが、中の構造は3.3時代のままで特に変化していません。
寺山 銀から寺山 銀への返信
その後ですが、保存時にエラーが出るのは変わりませんが、保存はされているようできちんと表示されます。
これはサーバー側の問題かもしれませんので、サーバー側に質問してみます。また、ご報告申し上げますm(__)m
寺山 銀
やはりサーバーの制限にかかっていたようです。
緩和していただき、エラーが出なくなりました。
tetblueからtetblueへの返信
こんばんは。ご返答ありがとうございます。
MTの方が大分変わってしまっていて、、ということでしたが、言葉足らずですみませんでした。
同じMT内の別のブログにも関連付けられ、とても満足しています。可能性が広がります。
改めてありがとうございました。
mick
大変便利なプラグインを有り難う御座います。
いつも有り難く使用させて頂いております。
RelatedEntries1.20を設置して見ましたが
near there via MT::L10N::ja, as used at lib/MT/Component.pm line 421
のエラーが出ます。
環境
OS : Windows Xp Pro
MT : Ver 4.1 (シフトjis)
文字変換しなければ成らないファイル等があるのでしょうか?
エラー内容から、何か手だてがあれば教えて頂けませんでしょうか。
壱からmickへの返信
>mickさん
こんにちは。
プラグインご利用ありがとうございます。
ご質問の件ですが、RelatedEntries.plの74行目を、以下のように変えてみてください。
・修正前
label => $plugin->translate('Relate entries'),
・修正後
label => 'Relate entries',
mickからmickへの返信
>プラグインご利用ありがとうございます。
>ご質問の件ですが、RelatedEntries.plの74行目を、以下のように変えてみてください。
>・修正前
>label => $plugin->translate('Relate entries'),
>・修正後
>label => 'Relate entries',
壱さん
こんばんわ。
早々のご回答有り難う御座います。
上記内容の変更でエラーの発生は無くなり、無事関連付けが表示されるように成りましたが、ナビ部分と関連付け項目部分が英字で表示されます。
これは日本語に成るのでしょうか:pp_06.gif:
次から次へと多忙のところ申し訳御座いません。
宜しくお願いいたします。
壱からmickへの返信
>mickさん
こんにちは。
「ナビ部分と関連付け項目部分」とは、具体的にどこのことでしょうか。
こちらで試した限りでは、英字で表示されている箇所はありませんでした。
なお、ShiftJISはプログラム言語との相性が良くなく、不具合が発生する可能性が上がりますので、なるべく使わないことをお勧めします。
mickから壱への返信
壱さん
こんにちわ
そうですか…
Sift_jis には相性が悪いのですか。
MT3.3 の時には、文字変換かけて使えていたので大変重宝していましたが、残念ですね。
英字表示については説明しにくいので画像を準備しました。
下記よりご確認下さい。
http://jisakupc.ddo.jp/images/image1.jpg
茶。
大変便利なプラグインをいつも有り難う御座います。
有り難く使用させて頂いています。
RelatedEntries1.20を設置しましたが、アクションなどは出るものの、いざやろうとすると500 Internal Server Errorエラーとなります。
PHP化しているのでそれが関係あるのでしょうか。
よろしくお願いいたします。
壱から茶。への返信
>茶さん
こんにちは。
ご質問の件ですが、500エラーが出る原因はいろいろあり、特定するのが難しいです。
ためしに、MTのディレクトリ→「plugins」ディレクトリ→「RelatedEntries」ディレクトリにある「mt-releated-entries.cgi」ファイルで、先頭の行の「#!/usr/bin/perl -w」を「#!/usr/bin/perl --」に書き換えてみてください。
なお、PHP化していることは500エラーには関係ありません。
茶。から茶。への返信
教えていただいたことをやってもだめでしたが、サーバー側でパーミッションの変更をしてもらったら、動くようになりました。
お騒がせしました、ありがとうございました。
rico
初めまして。
このたびRelatedEntriesプラグインをMT4.1環境へインストールしてみたのですが、途中までは正常に動作していたのに、突然エラーが出て再構築ができなくなりました。
エラーが出る前に行った作業としては、カテゴリーを1件削除したぐらいなのですが…。
エラー文は以下です。
Can't call method "id" on an undefined value at /path-to-mt/plugins/RelatedEntries/RelatedEntries.pl line 191.
設定をしなおしてみたり、色々と挑戦したのですが、どうしてもなおりません…お知恵を拝借できないでしょうか。宜しくお願いします。
壱からricoへの返信
>ricoさん
こんにちは。
まず、エラーを起こしているのは、MTEntryRelatedEntriesCountタグか、MTEntryIfRelatedEntriesタグのどちらかです。
これらのタグは、MTEntriesタグのコンテナの中か、もしくはブログ記事アーカイブテンプレートの中でのみ使うことができます。
それ以外の箇所でこれらのタグを使おうとすると、お書きになったようなエラーになります。
タグを使っている箇所が正しくて、それでもこのエラーが出るとなると、申し訳ありませんがそちらの環境でデバッグしてみないと原因は分かりません。
かりや
いつもプラグインやいろいろな記事を参考に改造しています。
見よう見まねですが、今のところ何とかなってきました。
今まで手作業でやっていたものが、このようなプラグインで
実現できるのは大変素晴らしいです。
今までのエントリーもちまちまと関連づけをしていこうと思っております。
そこで、希望というか要望があります。
絞り込み機能を付けてください。
最低限カテゴリの絞り込みがあると大変助かるな
と思います!!
参考にしていただければ幸いです
それでは、今後ともよろしくお願いいたします
壱
>かりやさん
こんにちは。
絞り込みを含め、このプラグインには改良したい点がいくつかあります。
ただ、時間がかかるので手をつけられない状況です。
simone
プラグインではいつもお世話になっております。ありがとうございます。
ところで、RelatedEntriesにはMT3のときから、お世話になっております。これまでなんの問題もなく使っていたのですが、
MT4.23から4.24にバージョンアップしたあとから、ブログ名、タイトル、カテゴリーが文字化けするようになり、どうにもなりません。なぜなのか、全く心当たりがありません。
RelatedEntries以外のところでは、まったく大丈夫です。
DBが壊れてしまったのでしょうか。
よろしくお願いいたします。
壱からsimoneへの返信
>simoneさん
こんにちは。
ご質問の件ですが、申し訳ありませんが原因不明です。
ちなみに、こちらでMT4.31英語版でRelatedEntriesプラグインを動作させてみましたが、文字化けは発生しませんでした。
simoneからsimoneへの返信
ありがとうございました。
残念ですが、仕方がありません。
お手数をおかけしました。
斉藤
はじめまして。今回MT4のカスタマイズでこのサイトを利用させて頂いています。
このプラグインは本当に使い勝手がいいと聞きましたので、さっそくつかってみたところ、ほかの投稿者様と同じく500エラーが出てしまいました。
私の使っているサーバーはhetemlですが、属性コードを700に変えたら無事直りました^^
匿名
MT5.01において,関連付け画面の右端「両方向」の列が表示されず,ウィンドウのバーも出ません。
WinXPsp3 1024x768 120dpi
壱
>匿名さん
こんにちは。
今のところ、申し訳ありませんが、このプラグインをMT5に対応させる予定はありません。
とも
いつも便利なプラグインありがとうございます。
RelatedEntriesを入れたのですが、エントリー画面上にアクション...というプルダウンが表示されません。
MTのVer.は4.27です。
プラグインとして認識はしているようで、プラグインの関連付けの設定→保存は問題なくできています。
エラーはいっさい表示されません。
>・修正前
>label => $plugin->translate('Relate entries'),
>・修正後
>label => 'Relate entries',
をやってみましたが、状況は変わりません。
テンプレートは、EntryIfRelatedEntriesあたりで、存在しませんというエラーメッセージが表示されます。
別のサーバーのMT4.27では問題なく使用できているので、サーバーの設定の問題でしょうか?
対処方法をお教え下さい。
よろしくお願いいたします。
壱からともへの返信
>ともさん
こんにちは。
いただいた状況からすると、おそらくプラグインとして正しく認識されていません。
システムメニューの「プラグイン」を開いて、プラグイン一覧にRelatedEntriesが表示されるかどうかを確認してみてください。
また、システムメニューの「ログ」に、何かエラーメッセージが出ていないかどうかも、調べてみてください。
なお、関連付けの設定の処理は、プラグインそのものではなく、プラグインの機能を流用したCGIで行っていますので、たまたまそちらだけが動作しているのではないかと思います。
ともからともへの返信
回答ありがとうございました。
プラグイン一覧にRelatedEntriesは表示されています。(なので、関連付けの設定はできています。)
エントリーを一旦、未公開で保存して再構築が行われないようにしておき、再度、エントリー一覧から編集画面に入ると、問題なく使用できました。
少々面倒なのですが、この方法で使っていこうと思います。