サイドバーなどにナビゲーションとして「最近のブログ記事」タイトルを
掲載することが多いと思いますが、「ブログ記事」のタイトルが長いと改行され
レイアウトが崩れるてしまうことがあります。
ある文字数以上をトリミングし表示する「日本語トリミングフィルタ」を利用し
表示文字数制限の方法をご案内します。「人生迷い箸」提供の
「torimj.pl」を以下の手順でインストールします。
1.torimj.pl 作成
以下のテーブル内のタグをコピーしメモ帳などに貼り付け、
「torimj.pl」の名前で保存します。
package MT::Plugin::Trimj; use MT::Template::Context; use MT::ConfigMgr; use Encode qw/ from_to /; MT::Template::Context->add_global_filter(trimj_to => sub { my($str, $nstr, $ctx) = @_; my $sippo = '...'; my $tmpstr = $str; my $c = MT::ConfigMgr->instance->PublishCharset; my $conv_in; if (lc $c eq lc 'Shift_JIS') { $conv_in = 'shiftjis'; } elsif (lc $c eq lc 'ISO-2022-JP') { $conv_in = 'iso-2022-jp'; } elsif (lc $c eq lc 'UTF-8') { $conv_in = 'utf8'; } elsif (lc $c eq lc 'EUC-JP') { $conv_in = 'euc-jp'; } if ($conv_in ne 'euc-jp') { from_to($str, $conv_in, 'euc-jp'); } # 比較 my $lenstr = length($str); if($lenstr <= $nstr) { return $tmpstr; } my $out = substr($str,0,$nstr); if ($out =~ /x8F$/ or $out =~ tr/x8ExA1-xFE// % 2) { chop $out; if($out =~ /x8F$/){ chop $out; } } $out .= $sippo; # 尻尾を付けたくない場合は、コメントアウトのこと。 if ($conv_in ne 'euc-jp') { from_to($out, 'euc-jp', $conv_in); } return $out; }); |
2.torimj.pl をインストール
Movable Type をインストールしている「plugins」フォルダ内に、
「torimj.pl」をFTP転送します。
3.MTタグに trimj_to 属性を記載
ブログ記事タイトルを半角20文字に制限する場合、
<$MTEntryTitle$ trimj_to="20"$>
のように記載する。
Tweet | Check |
|
||||||||
最近のコメント