TopMovable Typeカスタマイズ管理画面 > 2006年1月
2006年1月29日

管理画面のエントリーリストにパーマリンクを表示する

管理画面のエントリーリストにパーマリンクを表示する管理画面でエントリーリストを表示した時にそのエントリーのパーマリンク(エントリーアーカイブページのURL)も同時に表示するカスタマイズです。
これを作った理由は、管理画面のエントリー一覧からあるエントリーのURLを取得するためには、そのエントリー編集画面の右上にある「エントリーを確認」のリンクからしか取得できず、エントリー一覧から直接取得(あるいは表示)できるようにしたいと思ったからです。

完成画面はスクリーンショットでお分かりのように、リンク画像をエントリータイトルの後方に表示するようにしています。これをクリックすることで該当のエントリーを表示することができます(URLを取得するだけであれば、IEの場合、リンクを右クリックして「ショートカットのコピー」を選択することでコピーできます)。
またツールチップにURLを表示するようにしてします。

以下、カスタマイズ方法です。

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 のリンクをクリックしてください。

staggernation.comBigPAPI Plugin for Movable Type
2.1.2 BigPAPI プラグインのアップロード

Download のリンクをクリックした場合は、アーカイブを解凍した中にある BigPAPI.pl を、Plugin Code のリンクをクリックした場合は、保存した BigPAPI.pl をそのまま plugins ディレクトリにアップロードします。

2.1.3 リンク表示用プラグインのダウンロード

下記の DisplayEntryTitleAndPermalink.zip または DisplayEntryTitleAndPermalink.lzh をクリックしてアーカイブをダウンロードしてください。

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>&nbsp;<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> &mdash; <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&amp;_type=entry&amp;id=<TMPL_VAR NAME=ID>&amp;blog_id=<TMPL_VAR NAME=BLOG_ID>"><TMPL_VAR NAME=TITLE_SHORT></a>&nbsp;<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ヶ所あります)。

Comments [14] | Trackbacks [1]
2006年1月 9日

管理画面のエントリーリストのタイトルを全て表示する(その2)

January 9,2006 11:55 PM
Tag:[, ]
Permalink

エントリーリスト変更イメージ管理画面のエントリーリストのタイトルを全て表示するのエントリーで、エントリーのタイトルを全て表示するカスタマイズ方法をご紹介した後、管理画面上の表示設定を変更することでスクリーンショット(中)のように、エントリータイトルの全表示が可能であることを知りました。
この場をお借りしてお詫び申し上げると同時に、本エントリーで変更方法をご紹介しておきます。

方法は、エントリーリスト(他の画面も同様)左下に「画面の表示設定を変更」というリンクがあり、このリンクをクリックするとスクリーンショット(下)のウィンドウが表示されます。この中にある「表示形式」について「拡張」を選択し、「保存」をクリックすることでエントリータイトルが bold で全て表示されるようになります。

画面の表示設定を変更するウィンドウただし本文の概要もタイトル横に表示されるため、情報量がやや多くなります。ということで個人的には前エントリーの方法で結果オーライなのですが、こちらを先に気がつかなかったのは悔やまれるところです。(笑)
同じ変更画面で、表示件数・ボタン表示位置・日付表示もカスタマイズできるのでお試しください。

Comments [0] | Trackbacks [0]
2006年1月 7日

Sidebar Manager plugin でサイドバーのレイアウトを変更する

January 7,2006 11:59 PM
Tag:[, , , ]
Permalink

Sidebar Manager pluginPlugins Directory を見に行くと、Sidebar Manager というプラグインが公開されていましたので、ご紹介したいと思います。

Sidebar Manager は説明によると、HTML や Movable Type のテンプレートに関する知識なしで、プラグインで用意された「サイドバーウィジェット(スクリーンショット)」を利用して、サイドバーのレイアウトを管理できるプラグインです。

以下、Sidebar Manager を利用したカスタマイズ方法です。なおこのプラグインはデフォルトテンプレートでの利用を前提に作られています。

1.プラグインのダウンロード

Sidebar Manager のページ右上にある「Download」のリンクをクリックして、ジャンプした Donate and Download Sidebar Manager の右上にある Unix または Windows をクリックして、プラグインアーカイブをダウンロードします。

2.プラグインのインストール

ダウンロードしたアーカイブを解凍し、mt-static ディレクトリの中にある plugins ディレクトリを Movable Type の mt-static ディレクトリに、plugins ディレクトリの中にある SidebarManager ディレクトリを Movable Type の plugins ディレクトリにアップロードします。
アップロード後は下記のようになります。

mt-static/plugins/sidebar/…
plugins/SidebarManager/…

アップロード後、管理画面のメインメニューから「プラグイン」をクリックして、次ページで「Sidebar Manager …」が表示されていればOKです。

3.テンプレートの修正

テンプレートにプラグイン用の MTSidebar というタグを設定します。この MTSidebar タグを設定した位置に、プラグインによってサイドメニューを挿入できるようになります。
ここではメインページを例に説明します。

メインページのテンプレート編集画面を開き、右サイドバー部分にあたる下記の赤色部分を全て削除します(プラグインの動作を確認するだけであれば削除する必要はありません)。

    :
<div id="beta">
   <div id="beta-inner" class="pkg">
 
      <div class="module-search module">
         <h2 class="module-header">検索</h2>
         <div class="module-content">
            <form method="get" action="<$MTCGIPath$><$MTSearchScript$>">
               <input type="hidden" name="IncludeBlogs" value="<$MTBlogID$>" />
               <label for="search" accesskey="4">ブログを検索: </label><br />
               <input id="search" name="search" size="20" />
               <input type="submit" value="検索" />
            </form>
         </div>
      </div>
      
      <MTIfArchiveTypeEnabled archive_type="Category"><div class="module-categories module">
         <h2 class="module-header">カテゴリー</h2>
         <div class="module-content">
         <MTTopLevelCategories>
         <MTSubCatIsFirst><ul class="module-list"></MTSubCatIsFirst>
            <MTIfNonZero tag="MTCategoryCount">
            <li class="module-list-item"><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a>
            <MTElse>
            <li class="module-list-item"><MTCategoryLabel>
            </MTElse>
            </MTIfNonZero>
               <MTSubCatsRecurse>
            </li>
         <MTSubCatIsLast></ul></MTSubCatIsLast>
         </MTTopLevelCategories>
         </div>
      </div>
      </MTIfArchiveTypeEnabled>
      
      <MTIfArchiveTypeEnabled archive_type="Monthly">
      <div class="module-archives module">
         <h2 class="module-header"><a href="<$MTBlogURL$>archives.html">アーカイブ</a></h2>
         <div class="module-content">
         <MTArchiveList archive_type="Monthly">
            <MTArchiveListHeader><ul class="module-list"></MTArchiveListHeader>
               <li class="module-list-item"><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li>
            <MTArchiveListFooter></ul></MTArchiveListFooter>
         </MTArchiveList>
         </div>
      </div>
      </MTIfArchiveTypeEnabled>
      
      <div class="module-archives module">
         <h2 class="module-header">最近のエントリー</h2>
         <div class="module-content">
            <ul class="module-list">
            <MTEntries lastn="10">
               <li class="module-list-item"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
            </MTEntries>
            </ul>
         </div>
      </div>
      
      <div class="module-syndicate module">
         <div class="module-content">
            <a href="<$MTBlogURL$>atom.xml">このブログのフィードを取得</a><br />
            [<a href="http://www.sixapart.com/about/feeds">フィードとは</a>]
         </div>
      </div>
      
      <MTBlogIfCCLicense>
      <div class="module-creative-commons module">
         <div class="module-content">
            <a href="<$MTBlogCCLicenseURL$>"><img alt="クリエイティブ・コモンズ・ライセンス" src="<$MTBlogCCLicenseImage$>" /></a><br />
            このブログは、次のライセンスで保護されています。 <a href="<$MTBlogCCLicenseURL$>">クリエイティブ・コモンズ・ライセンス</a>.
         </div>
      </div>
      </MTBlogIfCCLicense>
      
      <div class="module-powered module">
         <div class="module-content">
            Powered by<br /><a href="http://www.sixapart.jp/movabletype/">Movable Type <$MTVersion$></a>
         </div>
      </div>
   </div>
</div>
    :

削除した部分に下記のように青色の MTSidebar タグを設定してください。上記を削除していない場合は適当な位置に <$MTSidebar$> を挿入してください。

<div id="beta">
   <div id="beta-inner" class="pkg">
      <$MTSidebar$>
   </div>
</div>

4.サイドメニューの設定をする

3項の設定でお分かりの通り、MTSidebar タグの部分にプラグインでカスタマイズするサイドメニューが表示されます。

4.1 プラグインを起動する

プラグインを起動管理メニュー一番上にあるプルダウンメニューから設定したいブログを選択して「Go」をクリックし、ブログのスタートページにジャンプします。次ページ真ん中にプラグインの表示(スクリーンショット)がありますので、「Re-arrange My Sidebar」をクリックします。

4.2 表示するサイドメニューを選択する

サイドメニューを選択スクリーンショットのようなページが表示されますので、マウスドラッグでサイドメニューを選択します。Installed Widgets と書かれた左側のエリアにあるメニューが表示されますので、左右のエリアにあるメニューをドラッグして表示するメニューをカスタマイズしてください。表示順序も配置された通りになります。

設定が完了したら、フォーム下の Save Changes をクリックします。

4.3 再構築

再構築クリック後、再構築のメッセージが表示されますので、通常の再構築を行ってください。ページを表示して追加したメニューが表示されていることを確認してください(英語ですが)。

5.name 属性による表示制御

3項で設定した

<$MTSidebar$>

ですが、このタグに name 属性を与え、

<$MTSidebar name="hogehoge"$>

name 属性による表示制御とし、異なる name 属性値の MTSidebar タグを各サイドバーに設定することで、サイドバー単位にメニューをカスタマイズすることができます。例えば3カラムにカスタマイズしていて、左右で表示するメニューを変えたい場合や、他のアーカイブページで表示するメニューを変更する場合があると思いますので、そのような場合に name 属性が有効に利用できると思います。

…と思って試してみたのですが、α版では設定画面がうまく動作しないようです。なお name 属性を与える場合は、3項の画面にある Rename Sidebar: に、スクリーンショットのように任意の name 属性値を設定します。

Comments [2] | Trackbacks [0]
2006年1月 4日

管理画面のエントリーリストのタイトルを全て表示する

エントリーリスト変更イメージ管理画面から過去のエントリーを修正する時、デフォルトではエントリーリストのタイトル表示が一定文字数で切られるため、似たようなタイトルがいくつも存在する場合、編集したいエントリーがすぐに見つからないことがあります。
私はカスタマイズのエントリーを更新する機会が少なくなく、カテゴリー別にエントリーリストを表示をさせた時など、スクリーンショット上のように同じ単語で始まるタイトルがいくつもあり、選択に困る訳です。

このエントリーではエントリーリストにあるエントリータイトルを全て表示(スクリーンショット下)するカスタマイズおよびプラグインを紹介します。
カスタマイズ方法は、下記の1?3項のいずれかひとつを選んでください。

1.エントリータイトルを全て表示する

tmpl/cms/entry_table.tmpl をダウンロードして(またはPCに保存しているファイルでもOK)、任意のエディタで開き、77行目(そのファイルの中で一番長い行)の赤色部分を削除します。

<TMPL_IF NAME=VIEW_EXPANDED><strong><TMPL_VAR NAME=TITLE_LONG></strong><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>

修正したファイルを同じディレクトリにアップロードしてください。長いタイトルは自動的に折り返して表示されます。

2.エントリータイトルリンクのツールチップでタイトルを表示する

画面の表示自体は変更しませんが、ハイパーリンクになっているエントリータイトルのツールチップでエントリータイトルを全て表示します。
tmpl/cms/entry_table.tmpl をダウンロードして(またはPCに保存しているファイルでもOK)、任意のエディタで開き、77行目(そのファイルの中で一番長い行)に青色部分を追加します。

<TMPL_IF NAME=VIEW_EXPANDED><strong><TMPL_VAR NAME=TITLE_LONG></strong><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>" title="<TMPL_VAR NAME=TITLE>"><TMPL_VAR NAME=TITLE_SHORT></a>

修正したファイルを同じディレクトリにアップロードしてください。

3.BigPAPI用プラグインを利用する

BigPAPI用のプラグインも用意しました(1項の動作と同じになります)。
下記の DisplayEntryTitle.zip または DisplayEntryTitle.lzh をクリックしてアーカイブをダウンロードしてください。

DisplayEntryTitle.zip
DisplayEntryTitle.lzh

アーカイブを解凍して、中にある DisplayEntryTitle.pl を plugins ディレクトリにアップロードしてください。
このプラグインはBigPAPIプラグインがインストールされている必要があります。BipPAPIのインストールは、下記のサイトへジャンプし、Download のリンクまたは、Plugin Code のリンクをクリックしてプラグインをダウンロードしてください。

staggernation.comBigPAPI Plugin for Movable Type

Download のリンクをクリックした場合は、アーカイブを解凍した中にある BigPAPI.pl を、Plugin Code のリンクをクリックした場合は、保存した BigPAPI.pl をそのまま plugins ディレクトリにアップロードします。

4.プラグインご利用の場合

エントリーリストが表示される仕組みは、ページ全体を表示する list_entry.tmpl から

<TMPL_INCLUDE NAME=entry_table.tmpl>

というインクルード用タグを用いて、実際のリスト表示部分である entry_table.tmpl を引き込み、エントリーリストを表示しています。このインクルード部分についてBigPAPIでは対応していないようなので(間違っていたらすいません)、本プラグインでは list_entry.tmpl にあるインクルード部分(上の1行)を entry_table.tmpl の中身(にちょっと修正を加えたもの)とごっそり置き換えています。
ということで、Movable Type のバージョンアップで entry_table.tmpl が変更になると、エントリーリストの表示に何らかの影響が発生する可能性があります。個人的にはしばらく変更されることはないと思ってますが、念のためお知らせしておきます。変更があればプラグインも適宜修正したいと思います。

Comments [6] | Trackbacks [4]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3