TopMovable Typeプラグイン管理画面 > PowerEdit プラグインでカスタムフィールドを表示する(テキスト編)
News
各種ブログテンプレート
2009年6月29日

エントリー本文

PowerEdit プラグインでカスタムフィールドを表示する(テキスト編)

Posted at June 29,2009 1:33 AM
Category:[管理画面, 自作プラグイン]
Tag:[, , ]

Movable Type のブログ記事一括編集画面に複数のフィールドを表示する PowerEdit プラグインをカスタマイズして、カスタムフィールドを表示する方法を紹介します。

変更前
PowerEdit プラグイン(変更前)

変更後(赤枠部分を追加)
PowerEdit プラグイン(変更後)

時間の都合上、解説を複数回に分け、今回はテキストのカスタムフィールドを表示する方法を示します。なお、アップロード系のカスタムフィールドについては対象外です。

1.カスタムフィールドを作成する

次のような「テキスト」カスタムフィールドを作成します。

「テキスト」カスタムフィールドを作成

ベースネームはシステムで生成した「cf」という値を用います(ベースネームがプラグインカスタマイズのキモになります)。

以下、この設定を例に説明します。

2.entry_table.tmpl の編集

plugins/CMSContext/tmpl/alt-tmpl/include/entry_table.tmpl の 255 行目あたりに青色のサブテンプレートを追加します。

...前略...
<mt:ignore>===================================</mt:ignore>
        <mt:if name="is_power_edit">
            <tr>
                <th><__trans phrase="Text"></th>
                <td colspan="9"><textarea style="width:760px" type="text" name="text_<$mt:var name="id"$>"><mt:entryBody convert_breaks="0" escape="html" /></textarea></td>
            </tr>
            <tr>
                <th><__trans phrase="Extended entry"></th>
                <td colspan="9"><textarea style="width:760px" type="text" name="text_more_<$mt:var name="id"$>"><mt:entryMore convert_breaks="0" escape="html" /></textarea></td>
            </tr>
<mt:ignore>
            <tr>
                <th><__trans phrase="Excerpt"></th>
                <td colspan="9"><textarea style="width:760px" type="text" name="excerpt_<$mt:var name="id"$>"><mt:entryExcerpt convert_breaks="0" no_generate="1" escape="html" /></textarea></td>
            </tr>
</mt:ignore>
            <tr>
                <th><__trans phrase="EntryProductName"></th>
                <td colspan="9"><textarea style="width:760px" type="text" name="customfield_cf_<$mt:var name="id"$>"><mt:entryProductName escape="html" /></textarea></td>
            </tr>
        </mt:if>
</mt:cmscontext>
<mt:ignore>===================================</mt:ignore>
...後略...

追加したタグの意味は次の通りです。

  • <__trans phrase="EntryProductName">:見出しになります。phrase 属性の値はなんでもかまいません。見出しの日本語ローカライズを行なう場合は4項を参照してください。
  • textarea 要素の name 属性:値に「customfield_cf_<$mt:var name="id"$>"」を設定します。「cf」はベースネームなので、ご自身のカスタムフィールドのベースネームに適宜書き換えてください。その他の部分は固定です。
  • textarea 要素の内容:MTEntryProductName タグを記述します。

3.PowerEdit.pl の修正1

plugins/PowerEdit/PowerEdit.pl の 24行目あたりに、青色のコードを追加します。

...前略...
use MT::Util qw( asset_cleanup );
use MT::I18N qw( first_n_text );
use CustomFields::Util qw( save_meta ); 
 
our $VERSION = '0.07';
...後略...

3.PowerEdit.pl の修正2

plugins/PowerEdit/PowerEdit.pl の 180 行目(save_power_edit 関数の中)あたりに、青色のコードを追加します。

...前略...
sub save_power_edit {
    my ($cb, $app, $entry, $org) = @_;
    my $q = $app->param;
    my $id = $entry->id;
    if ($id) {
...中略...
        unless ($q->param('allow_pings')) {
            if ($q->param('allow_pings_' . $id )) {
                $entry->allow_pings(1);
            } else {
                $entry->allow_pings(0);
            }
        }
        unless ($q->param('customfield_cf')) {
            my $meta;
            if ($q->param('customfield_cf_' . $id )) {
                $meta->{cf} = $q->param('customfield_cf_' . $id );
            } else {
                $meta->{cf} = '';
            }
            &save_meta($entry, $meta);
        }
    }
    return 1;
}
...後略...

赤色で示す部分がベースネームに対応します。ベースネームはご自身のカスタムフィールドのベースネームに適宜書き換えてください。

4.見出しのローカライズを行いたい場合

見出しを日本語で表示したい場合、エレガントな方法ではありませんが、lib\MT\L10N/ja.pm の最後から4行目あたり(「);」の直前の行)に下記のような1行を追加してください。

'EntryProductName', '商品名',

この作業は必須ではありません。

5.テキストのカスタムフィールドを複数表示する場合

2項と4項の内容を、必要なカスタムフィールド分、追加してください(ベースネームはそれぞれ異なります)。

Posted by yujiro ReTweet This!
関連記事
この記事を読んだ人はこんな記事も読んでいます
人気エントリー
Hatena Hot Entries
Hatena Entries
トラックバックURL


トラックバック

カスタムフィールドを一括編集できるプラグイン/PowerEdit from MovableTypePC携帯カスタマイズ
前回より、話しは続きます。 ▼ Movable Type 管理画面で一括編集プラグイン 前回のこのPowerEditプラグインによるカスタマイズで、一括編... [続きを読む]

Tracked on September 18, 2009 2:14 PM
コメントする
greeting

*必須



ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字 イタリック アンダーライン ハイパーリンク 引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)

Now loading...
Introduction
Entry Trackbacks
カスタムフィールドを一括編集できるプラグイン/PowerEdit
 [MovableTypePC携帯カスタマイズ] 09/18 14:14
Entries of this Category
Recent Entries
Recent Comments
Recent Trackbacks
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

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

loading ...
Categories
Monthly Archives
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 5.02