管理画面のエントリーリストにパーマリンクを表示する
管理画面でエントリーリストを表示した時にそのエントリーのパーマリンク(エントリーアーカイブページのURL)も同時に表示するカスタマイズです。 完成画面はスクリーンショットでお分かりのように、リンク画像をエントリータイトルの後方に表示するようにしています。これをクリックすることで該当のエントリーを表示することができます(URLを取得するだけであれば、IEの場合、リンクを右クリックして「ショートカットのコピー」を選択することでコピーできます)。 以下、カスタマイズ方法です。 |
1.CMS.pm の修正
エントリー一覧ではパーマリンク情報を取得していないため、これを取得できるよう、lib/MT/App/CMS.pm をダウンロードし、下記のパッチをあてます。パッチのあて方についてはパッチをあてる(その1:適用方法)をご覧ください。パッチがよく分からない&面倒という方はパッチをあてる(その1:適用方法)の4項をご覧ください。
--- CMS.pm.bak Thu Jan 29 23:24:40 2006
+++ CMS.pm Thu Jan 29 23:26:58 2006
@@ -5038,6 +5038,7 @@
$row->{author_name} = $author ? $author->name : $app->translate('(author deleted)');
$row->{category_name} = $obj->category ? $obj->category->label : '';
$row->{title_short} = $obj->title;
+ $row->{entry_permalink} = $obj->permalink;
if (!defined($row->{title_short}) || $row->{title_short} eq '') {
my $title = remove_html($obj->text);
$row->{title_short} = MT::I18N::substr_text($title||"", 0, MT::I18N::const('DISPLAY_LENGTH_EDIT_ENTRY_TITLE')) . '...';
パッチをあてた後はアップロードして元の CMS.pm に上書きしてください。
2.エントリーリスト表示用テンプレートを修正する
BigPAPI用プラグインを利用する方法と、テンプレートを直接修正する方法の2通りを紹介します。2.1項または2.2項のいずれかお好きな方を選んでカスタマイズしてください。
2.1 BigPAPI用プラグインを利用する
2.1.1 BigPAPI プラグインのダウンロード
注:すでに BigPAPI プラグインをお使いの方は、2.1.1項および2.1.2項の作業をスキップして2.1.3項に進んでください。
下記のサイトより BigPAPI のプラグインをダウンロードします。Download のリンクまたは、Plugin Code のリンクをクリックしてください。
2.1.2 BigPAPI プラグインのアップロード
Download のリンクをクリックした場合は、アーカイブを解凍した中にある BigPAPI.pl を、Plugin Code のリンクをクリックした場合は、保存した BigPAPI.pl をそのまま plugins ディレクトリにアップロードします。
2.1.3 リンク表示用プラグインのダウンロード
下記の DisplayEntryTitleAndPermalink.zip または DisplayEntryTitleAndPermalink.lzh をクリックしてアーカイブをダウンロードしてください。
2.1.4 リンク表示用プラグインのアップロード
アーカイブを解凍して、中にある DisplayEntryTitleAndPermalink.pl を plugins ディレクトリにアップロードします。なおこのプラグインでは管理画面のエントリーリストのタイトルを全て表示するプラグインの機能も入っています。
注:管理画面のエントリーリストのタイトルを全て表示するプラグイン DisplayEntryTitle.pl をアップロードしている方は必ずこのプラグインに差し替えてください。
2.2 テンプレートを直接修正する
tmpl/cms/entry_table.tmpl をダウンロードし、任意のエディタで開き、77行目に青色部分を追加します。修正後、元のディレクトリにアップロードします。修正前に必ずバックアップをとっておきましょう。
<TMPL_IF NAME=VIEW_EXPANDED><strong><TMPL_VAR NAME=TITLE_LONG></strong> <a href="<TMPL_VAR NAME=ENTRY_PERMALINK>"><img src="<TMPL_VAR NAME=BLOG_URL>mt-static/images/status_icons/link.gif" alt="<TMPL_VAR NAME=ENTRY_PERMALINK>" width="16" height="9" /></a><TMPL_IF NAME=EXCERPT> — <TMPL_VAR NAME=EXCERPT></TMPL_IF><TMPL_ELSE><TMPL_IF NAME=HAS_EDIT_ACCESS><TMPL_IF NAME=IS_POWER_EDIT><input name="title_<TMPL_VAR NAME=ID>" value="<TMPL_VAR NAME=TITLE ESCAPE=HTML>" /><TMPL_ELSE><a href="<TMPL_VAR NAME=SCRIPT_URL>?__mode=view&_type=entry&id=<TMPL_VAR NAME=ID>&blog_id=<TMPL_VAR NAME=BLOG_ID>"><TMPL_VAR NAME=TITLE_SHORT></a> <a href="<TMPL_VAR NAME=ENTRY_PERMALINK>"><img src="<TMPL_VAR NAME=BLOG_URL>mt-static/images/status_icons/link.gif" alt="<TMPL_VAR NAME=ENTRY_PERMALINK>" width="16" height="9" /></a>
2ヶ所に同じものを追加しているのは、エントリー一覧の左下にある「画面の表示設定を変更」のカスタマイズで、「コンパクト」と「拡張」の両方に対応させているためです。
3.新しいウィンドウで開く場合
本カスタマイズでは同一ウィンドウでリンクを開く設定になっています。新しいウインドウで開く場合は下記の修正を行ってください。
2.1項ご利用の方はプラグイン DisplayEntryTitleAndPermalink.pl、2.2項ご利用の方は tmpl/cms/entry_table.tmpl の
<a href="<TMPL_VAR NAME=ENTRY_PERMALINK>">
を検索して、taret 属性(青色部分)
<a href="<TMPL_VAR NAME=ENTRY_PERMALINK>" target="_blank">
を追加してください(いずれも修正部分が2ヶ所あります)。
なお本設定を行わなくてもリンクを右クリックすることで新しいウィンドウに表示することは可能です。
4.リンク画像が表示されない場合
リンクの画像は
- mt-static/images/status_icons/link.gif
を利用していますが、mt-static のパスは index.html があるディレクトリを起点としています。もし cgi-bin 等に mt-static を配置している場合は正常に表示されない可能性がありますので、下記の修正を行ってください。
2.1項ご利用の方はプラグイン DisplayEntryTitleAndPermalink.pl、2.2項ご利用の方は tmpl/cms/entry_table.tmpl の
src="<TMPL_VAR NAME=BLOG_URL>mt-static/images/status_icons/link.gif"
の赤色部分を
src="[mt-staticまでのURL]/mt-static/images/status_icons/link.gif"
に変更してください(いずれも修正部分が2ヶ所あります)。
- Movable TypeにGoogle Analyticsの情報を設定する方法
- Movable Typeのブログ選択メニューをカスタマイズする
- Movable Type 5.1のリスティングフレームワークで独自管理画面を作る(その1)
- Movable Typeのインポート・エクスポートでカスタムフィールドを扱う
- ブログ記事の本文編集エリアを拡張する
- テンプレート一覧のアクションに「テンプレートの再構築」を追加する
- Movable Type の管理画面用テンプレートファイル名を管理画面に表示する
- Movable Type で簡単に valid な XHTML 文書を作る
- アップロードしたファイルをブログ記事に挿入する
- カスタムフィールドのラジオボタンを横並びにする
- Movable Type でメールマガジンを作る(メールアドレスの解除)
- Movable Type 4 のブログ記事投稿画面のカテゴリー選択エリアを拡張する
- カスタムフィールドによるアップロード画像をサムネイルで表示するプラグイン 0.02
- CORESERVER / XREA にcron ジョブ(Movable Type 4 の run-periodic-tasks)を設定する
- Movable Type のスケジュール・タスク実行(Windows 編)
≫ 管理画面のエントリリストからパーマリンクに直接ジャンプ from やむやむ
MT の管理画面 エントリ一覧から、エントリアーカイブページに直接とびたいとき、... [続きを読む]
おはようございます。やってみたのですが、リンクアイコンをクリックすると
全てのエントリで mt.cgi を配置してるディレクトリにとぶようになってます。
うちが mt.cgi を置いてるディレクトリと ブログのディレクトリを 別にしてるのが原因でしょうか?
<TMPL_VAR NAME=BLOG_URL> の部分を修正すればいいと思うのですが
どう修正したらいいでしょう?
ホントごめんなさい、ひとつ作業を忘れてました。
CMS.pm パッチあてるだけあてて 上書きしてなかったんです。
ちゃんとパーマリンクにとぶようになりました。
のちほど、トラックバックさせていただきます。ありがとうございました。
>さえらさん
こんにちは。
早々のご利用&トラックバックありがとうございます!
手前味噌で恐縮ですが、なかなか便利で重宝しています。
yujiroサン 先日は、ご親切に本当にぁりがとぉござぃましたぁ この前、ぉ礼のコメントさせていただいた時にドリコムのリストに登録させてもらってィィですか?って書きましたぉ返事を見に来たんデスが、自分で書いたコメントがどこに書いたヵ探しきれませんでしたコm(_ _;m)三(m;_ _)m
スィマセン
マネェ★
システム関連ファイルの修正が必要が多いってことで今回は泣く泣く諦めます……(>_<)
そういえばプラグインのアーカイブにもパッチ部分を入れておいてはどうでしょう?
そして今回に限りませんけど、アーカイブに該当記事のPermlinkを書いただけのテキストファイルが入ってたりすると後でどこで提供してもらったプラグインのアーカイブか判って嬉しかったり(プラグインの先頭に書いてあってもそれを読む前に判りますし)
……どれもyujiroさんの手間が増えるだけの提案なんですけど……
後のほうの提案はプラグインをアーカイブ形式で配布してくれるかたがたが、同じような手間をかけて貰えると配布元に辿り着き易くて嬉しかったりも……
>○o。LΑセレブ観察日記。o○さん
こんにちは。
ドリコムのリストへの登録、ありがとうございます。
また何かございましたらご連絡ください。
>ちはさん
こんにちは。
コメント&提案ありがとうございました。
たしかにこれでは配布元すら分かりませんね。
今後追加する方向で検討したいと思います。
yujiroサァン 登録させていただいてぃぃんデスね。.:♪*:・'(*⌒―⌒*))) ぁりがとぉござぃます
m(__)m では、早速登録させていただきますネ♪
マネェ★ょり
いつもお世話様です。
早速BigPAPI対応プラグインを使わせていただきました。
ですが、おかしいところが2点ほど見つかりましたのでご報告します。
※管理用URIとブログ用URIを変えています。
1.システムメニューのエントリー一覧にはリンク用画像が出ますが、各ブログメニューのエントリー一覧には画像が出ません。
(管理用にしか mt-static フォルダがありません)
2.リンクが設定されていません。(ソースを見ると a href="" となっていました。)
どうぞよろしくお願いします。
「管理画面のエントリーリストのタイトルを全て表示する」の機能は以前より大変便利に使わせていただいています。
>やすひささん
こんばんは。
色々とご利用くださりありがとうございます。
ご質問の1.ですが、Movable Type はどちらの同じテンプレートを利用しておりますので、リンク画像 ?/mt-static/images/status_icons/link.gif をどちらか片方のURI(仮にURI-αとします)の直下にコピーし、4項と同じように
src="<TMPL_VAR NAME=BLOG_URL>mt-static/images/status_icons/link.gif"
を
src="URI-α/link.gif"
に変更してみてください(画像のURIを直接指定すればどちらのエントリー一覧からも表示されると思います)。
2.につきましては、1項の作業でパッチをあてた CMS.pm が元の位置に上書きされていることをご確認ください。
以上です。
それではよろしくお願い致します。
こんにちは。返答ありがとうございます。
2.に関しては CMS.pm を修正するしか方法がないんですね。できることならシステムに関わるファイルを修正したくないのですけどね…。(バージョンアップ時に困るから)
でも、CMS.pm を修正して対応しました。
1.に関しては BigPAPI 対応プラグインの98行目、2カ所の「BLOG_URL」を「CGI_PATH」にすると、システムメニュー・各ブログともにエントリー一覧で画像が表示されました。
(適当に試行錯誤してたら対応できてしまいました ^^; )
どうも、ありがとうございました。
>やすひささん
こんにちは。
CGI_PATHは気がつきませんでした。
無事に直ってよかったです。
ではでは!
エントリー記事欄によくみかける「パーマリンク」の表示をさせリンクさせたいと思います。どの部分をどのように修正させればいいのでしょうか? テンプレートでは、パーマリンクの表示がありません。
いつもお手数おかけしております。今回の件なんとか解決できました。ありがとうございます。
>panserさん
こんばんは。
ご連絡ありがとうございました。
ご質問の件、自己解決されたようで良かったです。
ではでは!