≪HOME(21世紀のアフィリエイト通販生活)
自分の書いたブログ記事を見ていて、ちょっとココ直したいんだけどなぁ、ってなった時に便利なEDITリンクを追加してみました。
EDITリンクってのはMovableType標準では、検索結果画面に表示されているので、そこからエントリー編集画面に入れるんだけど、これだと、
エントリータイトルをコピー → ペーストして検索 → 検索結果画面のEditリンク押下
ってのがめんどい (`-´メ)
なので個別記事の画面にEDITリンクを付けちゃいました。
参考にしたのはこちらです。
└ MovableTypeの記事修正を楽にする
個別アーカイブのEDITリンクを追加したい箇所に以下を挿入します。
<a href="<$MTCGIPath$>mt.cgi?__mode=view&_type=entry
&id=<$MTEntryID$>
&blog_id=<$MTBlogID$>">EDIT</a>
indexページに貼る場合はこちらです。
<a href="<$MTCGIPath$>mt.cgi?__mode=list_entries&blog_
id=<$MTBlogID$>">EDIT</a>
EDITリンクはブログ管理人以外は意味をなさないリンクでもありますので、気になる場合は以下のようなスタイルで目立たなくします。
クラスやIDを使って適用先の<a>タグを絞り込みます。
.edit a{
text-decoration:none;
color:#999999;
}
これでまたひとつMovableTypeが便利になりました。
≪ 続きを隠す
投稿者 Locutus : 2005年10月18日 21:02
| コメント (0)
| トラックバック (0)
MovableType標準では最近のトラックバックを表示させる為に<$MTPingTitle$>等を使っても、トラックバック先の情報が表示されるだけです。
これで一番困るのが、
「一体どのエントリーにトラックバックされたんだっ!」
ってなる事です。最近のトラックバックを表示させる時に、被トラックバックのエントリーを表示したいと思い、以下のMTPingedEntryプラグインを導入。
└ MTの「最近のTrackback」にエントリーのTitleとPermalinkを!
これは便利です。ありがとさんです。
表示させたい場所に以下を挿入します。
<MTPings lastn="10">
<MTPingedEntry>
<a href="<$MTPingedEntryLink$>">Re: <$MTPingedEntryTitle$></a>
</MTPingedEntry><br />
<$MTPingDate format="%m/%d %X"$> <a href="<$MTPingURL$>" target="_blank"><$MTPingTitle$></a> from <$MTPingBlogName$><br />
</MTPings>
因みに上記のMTPingedEntryプラグインは、被トラックバック・エントリー1個につき、トラックバック先のエントリーも1個ずつ表示します。
どういう事かと言うと、以下のような表示になります。表示は時系列順です。
被トラックバック・エントリーA(自分)
└ トラックバック先のブログ・エントリー1(相手)
被トラックバック・エントリーB(自分)
└ トラックバック先のブログ・エントリー2(相手)
被トラックバック・エントリーC(自分)
└ トラックバック先のブログ・エントリー3(相手)
とにかくトラックバックしてくれたリストを時系列に則って、
「1個ずつ確実に表示させたい」
って時は、このプラグインが向いています。
ただ、ひとつのエントリーだけに直近に複数のトラックバックがあると、同じエントリーが何回も繰り返し表示されます。
こんな感じです。
被トラックバック・エントリーA(自分)
└ トラックバック先のブログ・エントリー1(相手)
被トラックバック・エントリーA(自分)
└ トラックバック先のブログ・エントリー2(相手)
被トラックバック・エントリーA(自分)
└ トラックバック先のブログ・エントリー3(相手)
これを看過できるなら、このプラグインで問題ないでしょう。
納得できない場合は別のRecents.pl プラグインを使う方法もあります。
└ 最近のトラックバックをエントリーと共に表示するプラグイン、を使ってみた
≪ 続きを隠す
投稿者 Locutus : 2005年09月05日 11:42
| コメント (0)
| トラックバック (1)
9月に入った途端にトラックバックスパムが鬼のように来てます。
poker、viagra、diamonds、texas holdem、phentermine
↑こんなやつです。うざ杉(キ`-´)
なので早速対策を実施。
参考にしたのは以下のサイトです。
└ Quasi-Spam Filter Plugin
但し、そのままだとトラックバックタイトル、トラックバックの概要(本文の先頭n文字)のみがフィルターの対象なので、URL等でもフィルター出来るように改造します。
参考にしたのはこちら、
└ Quasi-Spam Filter Plugin バージョンアップ
トラックバックだけでなく、コメントスパムにも使える同プラグインですが、スパム受信時のリアクションを変更する事もできます。まぁうちはデフォルト設定で、トラックバックスパム受信時にシンプルなエラーメッセージだけ表示するようにしています。
設置方法は、いたって簡単!プラグインフォルダに入れるだけです。
設置後の効果は抜群!!! しょうもないカジノ関連のトラバは一切なくなりました。v(^o^)v
≪ 続きを隠す
投稿者 Locutus : 2005年09月03日 00:16
| コメント (0)
| トラックバック (2)
久しぶりにMovable Typeがバージョンアップしました。
新しいもの好きなので、一応アップグレードしてみました。
参考にしたのはこの辺りです。
└ MT3.17に一応なりました
└ Movable Type 3.17 へアップグレード
└ MovableType3.17日本語版へのアップグレードの仕方
(注)アップグレードすると検索テンプレートが英語になります(怒)。
試しに検索すると、
"このサイトの検索"
なんて文字が、
"Search this site:"
になっちゃってますよ。なんじゃこりゃ!
早速この辺りを参考に修正しました。感謝です。m(_"_)m
└ MT3.17日本語版で、search_templatesが日本語にならない時には
└ MT3.17検索ページ日本語化
しかしこういうの解決する人って、どうゆう知識の持ち主なんだろ?敬服します。
≪ 続きを隠す
投稿者 Locutus : 2005年06月20日 17:10
| コメント (0)
| トラックバック (0)
DreamweaverでMovableTypeのテンプレートを便利に編集できるプラグインの紹介、第2弾です。
以前に使っていたプラグインはMovableType Ver.3,0未対応だったので、3,0以降に追加されたテンプレート・タグに対応していませんでしたが、今回発表されたものは完全対応しています。なので前作以上に重宝します。
└ Dreamweaver 拡張機能 for Movable Type 3
さらに今回のプラグインは、コードヒントに属性値が追加されて利用価値がぐんとアップ!おまけに一度挿入したテンプレート・タグの属性値を追加・編集できるタグエディタ(右クリックから)も追加され利用価値が更にアップ!タグリファレンスも付いて鬼に金棒レベル!
どんなタグを使うのか忘れてしまった時などは、ツールバーから「タグ選択」ボタンを押してみましょう。
表示されるダイアログでは、エントリーやコメント毎にタグが分別され、目的のタグが探しやすくなっています。選択したタグに関する説明も表示されるので便利です。
ここから挿入ボタンを押すと、属性値を挿入するタグエディタが起動します。
詳しくはこちらで、
Dreamweaver 拡張機能 for Movable Type 3によるテンプレートカスタマイズについて
マクロメディア (2005/10/12)
おすすめ度の平均:
Web作成の業界標準ソフトのメジャーバージョンアップ
関連記事
└ DreamweaverでMovableTypeのテンプレートファイルを編集!
└ MovableTypeでスタイルシート(CSS)の編集を便利にする
└ Dreamweaver 8 がMovableType3.2に完全対応!
≪ 続きを隠す
投稿者 Locutus : 2005年06月14日 23:55
| コメント (0)
| トラックバック (0)
サーバー内がフォルダだらけってのも困りもんです。
大事なのは自分にとって一番管理しやすいと思える出力ファイル名にする事だと思います。
当ブログの設定では、インデックスページ以外は全部アーカイブ・フォルダに入るようになってます。その際に極力余分なフォルダは作らないのがスマートで有ると結論づけました。
各アーカイブの出力ファイル名は、ブログの設定よりアーカイブの出力フォーマットから行います。
以下備忘録代わりに設定例を明記。
個別アーカイブ
個別アーカイブについては、年別フォルダ/月別フォルダと作り、その中に各個別アーカイブを出力するように設定!
その際、各個別アーカイブについては、「日-時間.html」となるように設定しました。
<$MTArchiveDate format="%Y/%m/%d-%H%M"$>.html
◇出力ファイル名(例)
http://www.55link.com/archives/2005/12/21-1750.html
※ファイル名の設定では途中にスラッシュを入れると自動的にフォルダを生成してくれます。
▽関連記事
└ MovableTypeのPermalinkでのURL変更
月別アーカイブ
月別アーカイブは、archivesフォルダ直下に全部入れるように設定!
その際のファイル名は、「年_月.php」となるように設定しました。
<$MTArchiveDate format="%Y_%m"$>.php
◇出力ファイル名(例)
http://www.55link.com/archives/2005_12.php
スマートという事でいうと、format="%Y/%m" として、archivesフォルダに年別フォルダを作り、その中に月別アーカイブを作るというのも有りかと。
ただそれをやると、個別アーカイブを入れるべく作った年別フォルダに月別アーカイブと月別フォルダ(個別アーカイブ用)が混ざってしまいます。
カテゴリアーカイブ
カテゴリアーカイブについても月別と同じく、archivesフォルダ直下に全部入れるように設定!
その際のファイル名は、「cat_カテゴリ名.php」となるように設定しました。サブカテゴリの場合は、「cat_サブカテゴリ名.php」となり、主カテゴリ名は表示されません。
cat_<$MTArchiveCategory dirify="1"$>.php
◇出力ファイル名(例)
http://www.55link.com/archives/cat_019movabletype.php
この時に日本語名は正しく出力されないので、注意が必要です。但し、英数字名は問題なく出力されるので、先頭に数字を付けてソートしている場合は実用上問題ないでしょう。
└ カテゴリ並び替えで<$MTCategoryLabel$>をそのまま使える文字列置換プラグインを発見!
因みに dirify="1"ですが、これを付けないと、カテゴリ名に日本語を付けている場合に日本語がそのまま出力されてしまいます。
MovableTypeユーザーマニュアルによると、
1 を設定すると、タグを「dirify」します。すなわち、タグの値を、ファイル名や検索用に合わせたものに変換します。値は、小文字(abc...)に変換され、HTMLのタグやエンティティは除去され、普通でない文字 (アルファベット、数字、アンダースコア ( _ )、空白以外の文字) は除去され、空白はアンダースコア ( _ ) に変換されます。
との事なので、日本語は dirify属性によってすべて除去されます。URLに日本語が使える訳もなく、となるとカテゴリソート用の数字は必須かと思われます。
数字さえ打っておけばサーバー上でもソートしてくれるので実用上問題ないでしょう。
最後に個別ファイルのみ拡張子がhtml なのを断っておくと、SEO的な観点から若干有利ではとの判断です。あまり関係ないかもしれませんが
└ MovableType(ブログ)の拡張子をhtmlへと再変更しました
では何故他のアーカイブがPHPなのかと言うと、記事が増えた時にページ分割する為です。
└ カテゴリアーカイブをページ分割してみました
参考にさせて頂いたサイトさんはこちら、有り難うございました。
└ 各種アーカイブファイルを効率的に構築する
≪ 続きを隠す
投稿者 Locutus : 2005年02月25日 17:50
| コメント (0)
| トラックバック (0)
MovableTypeのカテゴリソート(並び替え)で便利なプラグインを発見しました!
カテゴリーソートにも使える文字列置換プラグイン~PM Labo
このプラグインを使うと、<$MTCategoryLabel$>タグで挿入されるカテゴリ名の"先頭文字"を置換できます。
どういう事かと言うと、通常カテゴリソートではカテゴリ名の先頭に数字を入力してカテゴリの並び替えを実施します。(010)カテゴリA、(020)カテゴリB、(030)カテゴリC、などの文字列です。
しかしこの方法を使うと、実際のカテゴリ表示には<$MTCategoryDescription$>を使う必要があります。<$MTCategoryLabel$>をそのまま使うと、(010)カテゴリA、(020)カテゴリB、(030)カテゴリC、と表示されてしまうからです。
アフィリエイトサイトの場合<$MTCategoryDescription$>は、カテゴリ独自の広告を挿入する時などに利用したいものです。なので<$MTCategoryLabel$>を出来ればそのまま利用したい訳です。
そんな時に上記のプラグインが非常に便利!使い方は以下の通りです。
指定プラグインをpluginsフォルダにアップします(パーミッションは705)。
まずカテゴリ名を次のように変更します。
010)カテゴリーA
次にサイドメニューなどの<$MTCategoryLabel$>を使っている部分を次のように変更します。
<$MTCategoryLabel$> → <$MTCategoryLabel pmhc=""$>
たったこれだけで、以下のように先頭文字列をカットして表示してくれます。これは便利です!
010)カテゴリーA → カテゴリーA
さらにこのプラグインを使うと、カテゴリページのタイトルで<$MTArchiveTitle$>タグをそのまま使えます。
先の説明からすると当プラグインを使わないと、(010)カテゴリA などと付けたカテゴリ名がそのままカテゴリページのタイトルに表示されてしまいます。これを回避する為に以下のように設定します。
MovableType標準では、<title><$MTArchiveTitle></title>となっているのを次の様に変更!
<title><$MTArchiveTitle pmhc=""$></title>
これでカテゴリ名の表示がずいぶんとスマートになりました。
≪ 続きを隠す
投稿者 Locutus : 2005年02月21日 19:19
| コメント (0)
| トラックバック (3)
トップページのメインコンテンツ部分で特定カテゴリ名だけを表示しないように設定してみました。
参考にさせて頂いたのはこちらです。
⇒ 特定のカテゴリを表示しないプラグイン ~クロスブリードさん
使用したプラグインはこちらです。
└ FilterCategories
プラグインフォルダにアップしたらメインページのカテゴリ表示部分に以下を追加します。
※以下はどのテンプレートに記述した場合も表示内容は同じになります。
<MTCategories>
<MTFilterCategories exclude="隠したいカテゴリ">
~ 略 ~
</MTFilterCategories>
</MTCategories>
複数指定したい場合はパイプで区切ります。こんな感じ、
"カテゴリA|カテゴリB"
逆に特定カテゴリだけ表示させたい場合は、以下のようにします。
<MTFilterCategories include="表示させたいカテゴリ">
ちなみにカテゴリ名に加えて、カテゴリ毎に属するエントリータイトルをリストアップしたい場合は、
<MTCategories>
<MTFilterCategories exclude="隠したいカテゴリ">
<div><$MTCategoryLabel$></div>
<MTEntries lastn="5">
<h2>
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
</h2>
</MTEntries>
</MTFilterCategories>
</MTCategories>
ちなみにlastn="5"は最新エントリーを5件表示させる為のものです。
≪ 続きを隠す
投稿者 Locutus : 2005年02月15日 16:03
| コメント (0)
| トラックバック (2)
MovableType標準では個別アーカイブに<MTEntryPrevious>や<MTEntryNext>などのテンプレートタグを使って、時系列にのっとった前後記事へのリンクが付いています。
しかしカテゴリ分けして新エントリーを書いていく以上、前後記事ってのは必ずしも同一カテゴリの記事ではありません。
これについて何とかならないかとぼんやり思っていると、やっぱり世の中には同じ事を考える人って居るもんですね。色んなサイトを参考にチャレンジしてみました。
参考にさせて貰ったのはこちらです。感謝感謝です!m(_"_)m
├ 同一カテゴリの前後の記事へのリンクを表示と自動再構築 ~HiLOG
├ 同一カテゴリの前後ナビゲーションと自動再構築 ~nlog(n)
├ カテゴリ内の次・前リンク ~Play with Weblog!
├ 同一カテゴリーの前後記事を個別ページに表示 ~アフィリエイトは我が魂に及び
├ 同一カテゴリー内で記事の前後移動 ~なかよしこよし
└ 複数Categoryなページめくりの再構築(プラグインありなし判定) ~Ruby site
今回やりたい事のまとめ
☆個別ページでの同一カテゴリ内への前後移動。
☆個別ページでの前後移動のリンクタイトル数を増やす。標準では前後に各一つずつ。
使用するプラグインは以下の二つです。
・PreviousNextInCategory ~ 個別ページで同一カテゴリへの前後ナビゲーションを設置できます。
・Again Plugin ~ 個別ページで前後リンクのタイトル数を増やせます。
ただし、PreviousNextInCategoryプラグインはそのままでは複数カテゴリに対応してないので、PreviousNextInCategory.plを以下のように修正、青字部分を追加します。
sub _hdlr_entry_previous_in_category {
:
my $cat = $e->category
or return '';
if ($ctx->stash('category') ne '') {$cat = $ctx->stash('category');}
my $prev = $e->previous(1);
:
sub _hdlr_entry_next_in_category {
:
my $cat = $e->category
or return '';
if ($ctx->stash('category') ne '') {$cat = $ctx->stash('category');}
終わったら各プラグインをpluginsフォルダにアップします。
次に個別アーカイブに同一カテゴリ内への前後リンクを表示させる為に以下のコードを挿入します。エントリーが属するカテゴリ情報を表示させる為に、全体を<MTEntryCategories>で囲みます。また<MTAgain limit="3">では前後リンクの数を調整できます。
<MTEntryCategories>
▽カテゴリ<a href="<$MTCategoryArchiveLink$>">[<$MTCategoryLabel pmhc=""$>]</a>内の前後の記事<br />
<MTAgain limit="3">
<MTEntryNextInCategory>
<$MTAgainHere$>
↑ <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
</MTEntryNextInCategory>
</MTAgain>
→ <$MTEntryTitle$><br />
<MTAgain limit="3">
<MTEntryPreviousInCategory>
↓ <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
<br />
<$MTAgainHere$>
</MTEntryPreviousInCategory>
</MTAgain>
</MTEntryCategories>
≪<a href="<$MTBlogURL$>">HOME</a>
これで終了と言いたい所ですが、このままでは新エントリーを投稿した時に、カテゴリ内の1つ前の記事は再構築されない、という重大な問題があります。つまりカテゴリ内で1つ前の記事からのリンクは更新されず、機能しないというトラブルが発生します。まぁ手動で別途再構築すれば済む話ですが正直面倒です。
これを解決する為に、lib/MT.pmを開き以下の修正を加えます。以下の修正はHiLOGさんの同一カテゴリの前後の記事へのリンクを表示と自動再構築を参考にしました。ちなみに以下は前後3つの記事を自動再構築する為の修正です。
return 1 unless $param{BuildDependencies};
#この下に次のコードを挿入します。
my $cats = $entry->categories;
for my $cat (@$cats) {
# previous 1
my $prev = $entry->previous(1);
if ($prev) {
if (!$prev->is_in_category($cat)){
do {
$prev = $prev->previous(1);
} while ($prev && !$prev->is_in_category($cat));
if ($prev) {
$mt->_rebuild_entry_archive_type(Entry => $prev,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
}
}
# previous 2
if ($prev) {
do {
$prev = $prev->previous(1);
} while ($prev && !$prev->is_in_category($cat));
}
if ($prev) {
$mt->_rebuild_entry_archive_type(Entry => $prev,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
# previous 3
do {
$prev = $prev->previous(1);
} while ($prev && !$prev->is_in_category($cat));
if ($prev) {
$mt->_rebuild_entry_archive_type(Entry => $prev,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
}
}
}
# next 1
my $next = $entry->next(1);
if ($next) {
if (!$next->is_in_category($cat)){
do {
$next = $next->next(1);
} while ($next && !$next->is_in_category($cat));
if ($next) {
$mt->_rebuild_entry_archive_type(Entry => $next,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
}
}
# next 2
if ($next) {
do {
$next = $next->next(1);
} while ($next && !$next->is_in_category($cat));
}
if ($next) {
$mt->_rebuild_entry_archive_type(Entry => $next,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
# next 3
do {
$next = $next->next(1);
} while ($next && !$next->is_in_category($cat));
if ($next) {
$mt->_rebuild_entry_archive_type(Entry => $next,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
}
}
}
}
これで終了です。但しlib/MT.pmを以上のように修正すると、PreviousNextInCategoryプラグインを使ってなくても、同カテゴリの前後の記事を自動再構築してしまいます。同プラグインを外す時は、元に戻すのを忘れないようにしましょう。
追記:
MT3.2以降では、lib/MT.pm ではなく /lib/MT/WeblogPublisher.pm を修正します。191行目あたりに、下記記述があるので、その下に丸々上記コードをコピペします。
return 1 unless $param{BuildDependencies} || $param{BuildIndexes} ||
$param{BuildArchives};
#ここに入れる!
全部完了して思ったのは、全体の再構築時間が増えてしまったのは正直マイナスでした。(MovableType 3.20以降では改善!)
ただ訪問者にとっては、こちらの方が優しいナビになっていると思います(思いたいです)。
≪ 続きを隠す
投稿者 Locutus : 2005年02月09日 17:44
| コメント (0)
| トラックバック (3)
3日前に3.15にアップしたばっかりなのに、もう3.151が出てます。ふ~、困るなーもう、こういうのは何ヶ月かに1回にしてもらわないと。
あんまり大して変更点もないみたいだし、どうしようかと迷っていると、そこはブログの有り難いところ。便利な記事を発見し、早速参考にバージョンアップを実施しました。
Movable Type 3.151日本語版公開 ~MovableTypeで行こう!
3.15からのバージョンアップはたった五つのファイルを上書きするだけで完了との事です。いやぁこれは本当に感謝!ありがとさんです。
≪ 続きを隠す
投稿者 Locutus : 2005年02月08日 16:57
| コメント (0)
| トラックバック (0)
≪HOME(21世紀のアフィリエイト通販生活)