TopMovable Typeプラグイン管理画面 > PowerEdit プラグインで概要を適正に表示する
News
各種ブログテンプレート
2008年11月14日

エントリー本文

PowerEdit プラグインで概要を適正に表示する

Posted at November 14,2008 1:55 AM
Category:[管理画面]
Tag:[, , , ]

昨日公開した PowerEdit プラグインでは概要フィールドを表示していませんでしたが、概要フィールドを適正に表示する方法を紹介します。

PowerEdit プラグインで概要を表示していない理由は、一括編集画面表示時には概要フィールドの内容は、その手前の一覧画面の詳細表示用に最適化(一覧に概要を表示するため、概要フィールドが空の場合、本文の内容を抜粋)してしまっており、CMSContext プラグインで MTExcerpt タグに no_generate モディファイアを適用しても加工後のデータしか取得できません(下)。この状態で保存を行うと、概要フィールドに余分な内容が保存されてしまいます(赤枠部分)。

概要が表示される例

したがって、ソースコードを修正して、概要フィールドが空のときは何も表示しないようにします(下)。

修正後の例

ただし、この修正を行うと、ブログ記事一覧表示の詳細モードの表示で概要フィールドが空の場合は表示されなくなります。

もう少しエレガントな修正方法があるかもしれませんがとりあえず。

1.パッチをあてる

lib/MT/CMS/Entry.pm に以下のパッチを適用します。

--- Entry.pm.bak        Fri Nov 14 01:55:15 2008
+++ Entry.pm    Fri Nov 14 01:56:03 2008
@@ -1843,13 +1843,6 @@
         if ( $row->{excerpt} ) {
             $row->{excerpt} = remove_html( $row->{excerpt} );
         }
-        if ( !$row->{excerpt} ) {
-            my $text = remove_html( $row->{text} ) || '';
-            $row->{excerpt} = first_n_text( $text, $excerpt_max_len );
-            if ( length($text) > length( $row->{excerpt} ) ) {
-                $row->{excerpt} .= ' ...';
-            }
-        }
         $row->{text} = break_up_text( $row->{text}, $text_max_len )
           if $row->{text};
         $row->{title_long} = remove_html( $obj->title );

パッチの適用方法が分からない場合は、lib/MT/CMS/Entry.pm を任意のエディタで開いて、下記の赤色部分をコメントアウトしてください。

変更前

...前略...
        if ( $row->{excerpt} ) {
            $row->{excerpt} = remove_html( $row->{excerpt} );
        }
        if ( !$row->{excerpt} ) {
            my $text = remove_html( $row->{text} ) || '';
            $row->{excerpt} = first_n_text( $text, $excerpt_max_len );
            if ( length($text) > length( $row->{excerpt} ) ) {
                $row->{excerpt} .= ' ...';
            }
        }
        $row->{text} = break_up_text( $row->{text}, $text_max_len )
          if $row->{text};
...後略...

変更後

...前略...
        if ( $row->{excerpt} ) {
            $row->{excerpt} = remove_html( $row->{excerpt} );
        }
<span class="attn">#        if ( !$row->{excerpt} ) {
#            my $text = remove_html( $row->{text} ) || '';
#            $row->{excerpt} = first_n_text( $text, $excerpt_max_len );
#            if ( length($text) > length( $row->{excerpt} ) ) {
#                $row->{excerpt} .= ' ...';
#            }
#        }</span>
        $row->{text} = break_up_text( $row->{text}, $text_max_len )
          if $row->{text};
...後略...

2.entry_table.tmpl を編集する

「4.代替テンプレートの設定」でダウンロードした alt-tmpl.zip の中にある entry_table.tmpl を任意のエディタで開き、下記の赤色部分を削除します。

...前略...
<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>
            </tr>
</mt:ignore>
...後略...

プラグインの修正

PowerEdit.pl を任意のエディタで開き、赤色のコメントアウトマークを削除します。

...前略...
        if ($q->param('text_more_' . $id )) {
            $entry->text_more($q->param('text_more_' . $id ));
        }
#        if ($q->param('excerpt_' . $id )) {
#            $entry->excerpt($q->param('excerpt_' . $id ));
#        }
        if ($q->param('keywords_' . $id )) {
            $entry->keywords($q->param('keywords_' . $id ));
        }
...後略...

これでブログ記事一括編集画面に概要フィールドが表示され、正常に変更できるようになります。

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


コメントする
greeting

*必須



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

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

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

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

Now loading...
Introduction
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