関連記事を付けてみた[MT5]

2012年6月 4日

久々にMTをいじってみようと思う。いざいじるとなれば時間かかるし、普段はHappy Petsの世話で時間を取られてるからなー。

そして、今更やけど、エントリーの後よく見る「関連する記事」ってのを付けようと思う。

なんかね、MTのタグでもできるみたいなんだわ。でもここはプラグインを使ってみようと思います。うちが今使ってるバージョンはMT5.12です。

 

プラグインのダウンロードと設置

1)今回使わせてもらうのは、「TagSupplementals」っていうプラグインです。下のサイトからTagSupplementals-0.22.zipをダウンロード。

[お世話になったサイト]
ogawa>>TagSupplementalsプラグイン

2)解凍してできたTagSupplementalsフォルダをまいどのごとく、MTのpluginsの中に入れます。

3)ダッシュボード開いて、システム>ツールのプラグインで確認。

120604-01.gif

 

テンプレートに記述

色々検索して回って、下のブログを参考にさせてもらいました。

[参考させてもらったエントリー]
Nakamura's Weblog>>「TagSupplementals Plugin」プラグインで関連記事を表示

1)ダッシュボードのデザイン>テンプレートを開き、テンプレートモジュールの下にある「テンプレートモジュールの作成」を押して以下を記述。

名前は「関連記事」。記事は10個まで表示するようにしました。<h2>のところは、小粋さんのテンプレートを使わせていただいてるので、便宜上<h3>に変更。.

<MTEntryIfTagged>
<!-- 関連記事 TagSupplementals -->
<div class="relatedentries">
<h3>関連記事</h3>
<ul>
<MTRelatedEntries lastn="10" weight="idf">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a> [<$MTEntryDate format="%x"$>]</li>
</MTRelatedEntries>
</ul>
</div>
<!--/ 関連記事 TagSupplementals -->
<MTElse>
<div class="relatedentries">
<MTSetVarBlock name="ecat"><MTEntryCategories glue=" OR "><$MTCategoryLabel$></MTEntryCategories></MTSetVarBlock>
<h3>関連記事</h3>
<ul>
<MTEntries lastn="10" category="$ecat" unique="1">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a> [<$MTEntryDate format="%x"$>]</li>
</MTEntries>
</ul>
</div>
</MTEntryIfTagged>

2)次に、アーカイブテンプレートにある「ブログ記事」を開いて、トラックバックのタグの前に関連記事のタグを記述。赤字が追加分。

<mt:include module="関連記事" />
<mt:include module="トラックバック" />

 

スタイルシートに記述

1)どっかに並べて書いても良かったんやけど、個別に書きました。以下をスタイルシートに記述。

/*関連記事*/
.relatedentries h3 {
    padding-left: 8px;
    color: #fff;
    background: #cc99ff;
    font-size: 83.3%;
    font-weight: bold;
    line-height: 2.0;
}
.relatedentries li {
    margin-left: 20px;
    padding: 0;
    font-size: 83.3%;
    line-height: 1.5;
    word-break: break-all;
}

 

仕上がり状況

最後に再構築して・・・おお、うまいこと出来上がりました。

↓ 変更前

120604-02.gif

↓ 変更後

120604-03.gif

ほんでこれ、タグで関連記事見つけてくるみたいなんやけど、タグって意識持ってきっちり付けてきたから、楽しみですわ。タグで見つからん場合は同カテゴリーの記事を表示するんやって。すごいなぁ~。

やっぱり続くコメントスパム[MT5]

2011年8月10日

MTのバージョンアップしたものの、何が楽しいんか、英文が並んだコメントが続々書きこまれてます。この手のもんは、バージョンアップしても解消せんのね。

しゃーないので、何か対策はないかと検索。

keystrokesというプラグインが有効みたいなので、それを使ってみることにした。

[参考サイト]

 

keystrokesのダウンロード

1)まずは配布サイトにいき、keystrokes-0.1.5をダウンロード。リンクは0.1.4のままになっているので、手動でURLの0.1.4の部分を0.1.5に修正します。

 2)解凍して出てきたpluginsフォルダの中にある、keystrokes.plを取り出しておきます。

 

 keystrokes.plの修正

1)66行目辺り、MTのバージョンが5なので書き換え(赤字部分)。

return 1 unless $MT::VERSION =~ m(^5\.);

2)91行目辺りの、この2行を書き換え。

$eh->error("keystroke failed: " . $obj->email) if $LOG && $keystrokes < 1;
$eh->error("keystroke id: " . $obj->blog_id);

 変更後(赤字部分)↓

my $keystrokes = 0;
$keystrokes = $q->param($FIELD_NAME) if $q->param($FIELD_NAME);
$app->log({message => $app->translate("Comment save failed with [_1]",
"keystroke failed"),
blog_id => $obj->blog_id,
class => 'comment',
level => MT::Log::ERROR()
}) if $LOG && $keystrokes < 1;
return $keystrokes > 0

 3)以上2点の変更が済んだら、サーバーのpluginsフォルダにkeystrokes.plをアップします。

 

 コメント入力部分の修正

 うちの場合は、コメントもコメントプレビューもコメント入力フォームだけをいじれば良いのであった。

 1)タグの追加(青字)。

<form method="post" action="<mt:CGIPath /><mt:CommentScript />" id="comments-form" onsubmit="return mtCommentOnSubmit(this)">
<$MTKeystrokes$>
<fieldset>

2)textarea タグ内に属性を追加(青字)。

<textarea id="comment-text" name="text" tabindex="6" accesskey="t" rows="10" cols="30" onkeypress="keystrokes(this.form)" onfocus="if (this.value == 'Please comment') this.value = '';" onblur="if (this.value == '') this.value = 'Please comment';<mt:if name="body_class" like="mt-comment-preview|mt-comment-error">mtShowCaptcha()<mt:else>mtCommentFormOnFocus()</mt:if>">

3)input タグ内に属性を追加(青字)。

<input type="submit" tabindex="7" accesskey="s" name="post" id="comment-submit" onclick="keystrokes(this.form)" value="投稿" />

4)以上3点変更したら、再構築して終わり。

 

たぶん、これでうまくいくはず・・・。もしこれも効かんのであれば、他に手があるんやろか・・・。

同カテゴリ内の前後記事へのリンク[MT5]

2010年3月24日

一応、記事の下には、前後の記事のリンクを貼ってあるんやけど、同カテゴリ内における前後の記事で表示させることにした。

またもやお世話になったのは小粋さん。shine

[参考サイト]

 

修正プラグインのダウンロード

公開されてるPreviousNextInCategory.zipをダウンロードして解凍。

 

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

1)解凍して出てきたPreviousNextInCategoryフォルダをpluginsフォルダにUP。

2)システム>ツール>プラグインを開いて、PreviousNextInCategoryを確認。

 

「プログ記事」テンプレートにソースを記述

デザイン>テンプレートを開き、アーカイブテンプレートの「ブログ記事」の表示したい部分に下記のソースを記述。

2つにまたがるカテゴリ設定はめったにしないと思うけど・・・まぁ一応「すべてのカテゴリー」の方を。後でスタイルシートで調整するため、青字は追加。

<MTEntryCategories>
<p class="pnlink">
<MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink$>">≪ <$MTEntryTitle$></a> |
</MTEntryPreviousInCategory>
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>
<MTEntryNextInCategory>
 | <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> ≫</a>
</MTEntryNextInCategory>
</p>
</MTEntryCategories>

 

スタイルシートで調整

スタイルシートに下記のソースを記述。

p.pnlink{
  font-size: 11px;
  margin: 5px 10px 0;
}

 

今までの前後リンクの削除

レッスンブックで1からソースを記述していたため、ブログ記事には、前後記事へのリンクってのが記事の下に表示されてたけど、必要ないと思うので、ブログ記事中のその部分のソースと、スタイルシートで該当する部分を、そっくり削除。

 

今回もすんなりできました。感謝です。happy01

  • 1