≪HOME(21世紀のアフィリエイト通販生活)
以前にエントリー投稿画面のリンクボタンでtarget="_blank"を自動的に挿入でリンク挿入で別ウィンドウが開くように設定していました。
がしかし、
自サイト内への内部リンクを入れる時に今度はtarget="_blank"を消す作業が加わり 不便を感じていました。
これを解消する為にブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニックのP105に載ってるTipsを利用する事にしました。
使うプラグインはmt-insert-link.cgi です。(← あくまで自分の検索備忘録用)
尚、同プラグインはBIGPAPIという管理画面表示テンプレートを動的に置換してくれるプラグインと併用します。
使い方は簡単!
該当テキストを選択してリンクを挿入ボタンを押下すると、以下のウィンドウが開くようになります。
設定ボタンを押した瞬間に別ウィンドウは消えて、投稿画面に戻るとリンクが挿入されています。
※ラジオボタンの初期値はお好みに合わせて変更できます。
これに加えて、さらに新しくボタンが追加されます。
これを押すと過去のエントリ一覧が50件ずつ表示されるので、自サイト内への内部リンク挿入を助けてくれます。
これでリンク挿入がよりスマートになりました。
BIGPAPIを使ったMovableTypeカスタマイズでは、全部プラグインを使って投稿画面を変えられるので、バージョンアップの際も面倒くさいテンプレ編集から解放されます。
BigPAPI 万歳
≪ 続きを隠す
投稿者 Locutus : 2006年01月18日 19:24
| コメント (0)
| トラックバック (0)
トップ、カテゴリ、月別アーカイブ等で追記部分を表示させる「続きを読む」をクリックした時に、標準では個別ページへ飛んでしまいます。これを止めて、「続きを読む」をクリックした同ページに展開させるように変更しました。
訪問者にとって個別ページ以外はどうでもいいページな訳で、カテゴリ、月別アーカイブを管理人が見易いようスマートな表示にしても問題ないでしょう。
お世話になったのはこちらです。
└ 個別アーカイブに「続きを読む」を導入
この機能は、JavaScriptとスタイルシートを使うことで実現しています。
ポイントは、「続きを読む」をクリックしない状態でも、「追記」部分は出力されている点です。「続きを読む」をクリックした時にJavaScriptを呼び出し、スタイルシートのdisplay属性で、追記の表示・非表示を切り替えています。
≪ 続きを隠す
投稿者 Locutus : 2005年12月10日 21:21
| コメント (4)
| トラックバック (0)
ちらほらとスパムコメントが来てるので、対処しました。使ったプラグインは、NotJapaneseLookup です。
思いきって英文のコメントをフィルタリングするものです。おなじみFujimotoさんの
└ 日本語でないスパムをフィルタするプラグイン(MT3.2用)
NotJapaneseLookup.pl をpluginsフォルダにアップします。
各ブログ毎のプラグイン設定から、お好みのスパム設定ができます。
「全角文字を」、「ひらがなを」、「句読点を」などで、各文字を何個含むかでスパムかどうかをフィルタリングする設定です。
MovableType Ver3,2になってからスパム対策プラグインの仕組みがよく判らなかったんですが、Fujimotoさんのブログ記事で氷解しました。
要するに標準の「判断基準値」が「0」で、複数のプラグインが付けたスコアは平均化されるって事ですね。でマイナスになったのはスパムとして処理されると。
Movable Type 3.2のスパム対策機能では、複数のスパム対策プラグインを組み合わせて、スパムかどうかを判断することができます。
個々のスパム対策プラグインは、コメントやトラックバックに「スコア」をつけます。
スパムとみなす場合は、通常はマイナスのスコアがつきます。
そうでない場合は、スコアは通常は0になります。
NotJapaneseLookupプラグインでは、日本語でないコメント/トラックバックには、標準では-1のスコアをつけます。
また、プラグインによっては、プラスのスコアをつけるものもあります。
例えば、MT3.2標準の「SpamLookup - Link」のプラグインでは、過去にコメント/トラックバックしたことがある人からのコメント/トラックバックには、標準では+1のスコアをつけるようになっています。
各プラグインのスコアが出たら、それらが平均されます。
そして、その平均値が「判断基準値」より低ければ、スパムとみなすようになっています。
判断基準値は、Blogの設定の「コメント/トラックバック」のタブの「迷惑コメント/トラックバック」の箇所で設定することができます。
標準ではこの値は0に設定されていますので、スコアの平均値が0より小さい場合は、スパムとみなされることになります。
≪ 続きを隠す
投稿者 Locutus : 2005年12月04日 01:11
| コメント (0)
| トラックバック (0)
MovableTypeで新しく記事を書く時って推敲を重ねてる間は未公開(下書き)の状態で保存しておいて、これでいいと思った時に公開するのが普通だと思います。
しかし、そのパターンだと投稿日の日付が未公開(下書き)で新規保存した日付が入ってしまいます。
これではまずいので、エントリーの投稿日を公開日に自動変更するReleaseDateプラグインを入れてみました。
└ エントリーの投稿日を公開日に自動変更する(MT3.2用)
入手したReleaseDate.pl をpluginsディレクトリにアップします。各ブログ毎のプラグイン欄で「Release Date 」から設定を表示し、以下のチェックボックスがONなのを確認すれば完了です。
新規投稿や未公開エントリーのみ以下のような「投稿日を公開日に変更」チェックボックスが追加されます。
※公開済みのエントリーでは、このチェックボックスは表示されません。
因みに上記チェックボックスはプラグイン設定画面のチェックボックスと連動しているので、プラグイン設定をオフにすると、投稿画面のデフォルトもチェックボックスがオフになります。
※edit_entry.tmpl をデフォルトから変更してるとチェックボックスが表示されない事があります。
これとは別に、UpdateAuthoredOnプラグインも入れてみました。
UpdateAuthoredOn.pl をpluginsフォルダに入れれば、Updateボタンが追加されます。
機能は簡単で、Updateボタンを押すと投稿日をその時点の日時に書き換えるという動作をします。判りやすくて意外と便利かも。
両プラグインともBIGPAPIというプラグインと併用します。
BigPAPI.pl をpluginsフォルダに入れるだけです。
因みにBIGPAPI はMovableTypeの管理画面の一部を動的に置換表示させるものです。これを使うことで以前のように、edit_entry.tmpl を直接書き換える必要がなくなりました。
└ MT 3.2で変わったブログツールスタンダード
≪ 続きを隠す
投稿者 Locutus : 2005年12月03日 17:49
| コメント (0)
| トラックバック (0)
MovableTypeを使ってると避けられないのが重複トラックバックです。
自分がやっちゃった時はただ申し訳ない気持ちで一杯になります。逆に送られた方からすると、正直1回1回消すのが面倒くさいんですよね。
そんな面倒を解消するのが小粋空間さんのプラグインです。
└ 重複トラックバック防止プラグイン
(注)MovableTypeのプラグイン設定画面でチェックボックスをONにしないと効きません!
duplicateTBPingfilter.pl プラグインを導入すると、同一のURLから送られてきたトラックバックで、タイトルと概要が同じものは、重複するトラックバックと見做されフィルタリングしてくれます。
設定しときたいのはフィルタリングされた時の相手側への配慮です。
小粋空間さんの説明によると、
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
フィルタされた場合はトラックバックを登録しませんが、相手サイトには 403 Forbidden が返却されます。これを正常に終了したかのようにするには、lib/MT/App/Trackback.pm の 236行目辺りを
$ping->blog_name($blog_name);
if (!MT->run_callbacks('TBPingFilter', $app, $ping)) {
return $app->_response(Error => "", Code => 403);
return 1;
}
$ping->save;
と変更します。この変更により、相手サイトにはトラックバックが正常終了したかのようにみえますので、さらに重複トラックバックが送信される可能性が低くなります。ただし他のプラグインと競合している場合はご注意ください。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
他はデフォルトでも問題ないでしょう。これで1回1回重複トラックバックを消す手間から開放されました。
≪ 続きを隠す
投稿者 Locutus : 2005年12月01日 15:39
| コメント (0)
| トラックバック (0)
「MovableTypeで最新のトラックバックをエントリーと一緒に表示させたいっ!」
という欲求があったとしても、実はこれを実現させるタグがありません。
コメントの場合は<MTEntries recently_commented_on="10">を使えば最新のコメントが付いたエントリーを表示させられます。
ところがMovableType標準では最近のトラックバックを表示させるべく<$MTPingTitle$>等を使っても、トラックバック先の情報が表示されるだけで、トラックバックを受けた自分のエントリーが出力されません。
これで一番困るのが、
「一体どのエントリーにトラックバックされたんだっ!」
ってなる事です。最近のトラックバックを表示させる時に、被トラックバックのエントリーを表示したいと思い、Recents.pl プラグインを導入してみました。
参考にさせて頂いたのはこちらです。
└ 最近のコメント/トラックバックをエントリーとともに表示するプラグイン(改良版)
もっともこのプラグインは以下のものと同じです。
└ 最近のコメントをエントリーとともに表示するプラグイン、を使ってみた
MovableType3,2からはスパム対策が強化され、標準プラグインによって迷惑トラックバックをすぐに表示せずに自動的に保留扱い出来るようになりました。
このプラグインも同機能に則して、保留や迷惑のトラックバックを出力対象から除外してくれます。
設定例は以下のとおりです。
<MTPingsRecent lastn="10" entry_sort_order ="desend" ping_sort_order="descend"> <!-- 昇順 ascend 降順 descend -->
<MTPingsRecentIfEntry>
<div class="entrytitle"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></div>
<div class="entry_date"><$MTEntryDate$> トラックバック数 <a href="<$MTEntryPermalink archive_type="Individual"$>#trackbacks">[<$MTEntryTrackbackCount$>]</a></div>
</MTPingsRecentIfEntry>
<MTPingsRecentIfPing>
<MTPingsRecentHeader></MTPingsRecentHeader>
<div class="pingtitle"><a href="<$MTPingURL$>" target="_blank"><$MTPingTitle$></a></div>
<div class="authorlink">└ from <$MTPingBlogName$> (<$MTPingDate$>)</div>
<MTPingsRecentFooter></MTPingsRecentFooter>
</MTPingsRecentIfPing>
</MTPingsRecent>
<ul><li>タグは嫌いなので相変わらず使ってません。ブラウザごとに余白(margin、padding)の取り方が違うので、<div>等で代用できる時はそちらを使うようにしてます。
で、このRecents.pl プラグインを入れると、<MTPingsRecent>などのテンプレートタグが新たに追加されます。
<MTPingsRecent lastn="10">とすると、トラックバックしてくれた相手ブログのエントリーを10件表示してくれます。
トラックバックを受けた自分のエントリー10件ではありません。
表示されるのは時系列に則った最新のトラックバックです。
以前に私が使っていたMTPingedEntryプラグインとの違いを説明しておきます。
└ MovableType 最近のトラックバックにエントリー名を付ける!
今回導入したRecents.pl プラグインの場合ですが、
<MTPingsRecent lastn="10" ping_sort_order="descend">と設定すると、トラックバック表示順はdescend(降順、最新のものが上)となります。
この場合の表示例は以下の様に、エントリー毎にまとまって最新のトラックバックを表示してくれます。(アラビア数字が若い方が最新)
被トラックバック・エントリーA(自分)
└ トラックバック先のブログ・エントリー1(相手)
└ トラックバック先のブログ・エントリー6(相手)
└ トラックバック先のブログ・エントリー7(相手)
└ トラックバック先のブログ・エントリー9(相手)
被トラックバック・エントリーB(自分)
└ トラックバック先のブログ・エントリー2(相手)
被トラックバック・エントリーC(自分)
└ トラックバック先のブログ・エントリー3(相手)
└ トラックバック先のブログ・エントリー5(相手)
└ トラックバック先のブログ・エントリー10(相手)
被トラックバック・エントリーD(自分)
└ トラックバック先のブログ・エントリー4(相手)
└ トラックバック先のブログ・エントリー8(相手)
エントリー毎にまとめてあると言っても、全トラックバックの中から最新のトラックバックを lastn属性で指定した10件分だけ抽出して表示します。
その際の被トラックバック・エントリー(自分)の表示順ですが、あくまでそのエントリーについた最新のトラックバックが基準になります。
面白いのはRecents.pl プラグイン、MTPingedEntryプラグインともに表示されるトラックバックのタイトル(相手)自体は同じだと言うことです。
どちらも最新のもの表示する訳ですから当然と言えば当然ですが。
例えばlastn="30"とした場合の表示タイトル(相手)は両プラグインともに違いがありません。
あくまでその表示の仕方に違いがあるというだけです。どちらを取るかはお好み次第ですね。
≪ 続きを隠す
投稿者 Locutus : 2005年11月30日 02:21
| コメント (0)
| トラックバック (0)
最近のコメントを投稿されたエントリーと共に表示するには<MTEntries recently_commented_on="10">の中で<MTComments>を使えば可能です。
しかし以下のような問題があるそうです。
「MTEntriesタグの『recently_commented_on』で最近のコメントを表示すると、意図しない古いコメントが表示されてしまうことがある。」
デフォルトテンプレートや公開テンプレートのサイドバーメニューにある「最近のコメント」は、MTEntries タグや MTComments タグ等を用いて、表示するエントリー数と各エントリーに表示するコメント数を制御しています。この方法はスタンダードながら過去のコメントが含まれてしまうケースが少なくありません。
なのでおなじみFujimotoさんとこのブログの記事を参考に修正しました。感謝です。
└ 最近のコメント/トラックバックをエントリーとともに表示するプラグイン
└ 最近のコメント/トラックバックをエントリーとともに表示するプラグイン(改良版)
こちらも参考にさせて頂きました。有り難うございます。
└ 最近のコメントとトラックバック一覧表示
入れたプラグインはRecents.pl です。書いとかないと自分で忘れてしまうんですよね
うちのブログでの設定例は以下の通りです。
<MTCommentsRecent lastn="30" entry_sort_order ="desend" comment_sort_order="ascend"> <!-- 昇順 ascend 降順 descend -->
<MTCommentsRecentIfEntry>
<div class="entrytitle">
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
</div>
<div class="entry_date">~ <$MTEntryDate$>投稿 [コメント数: <$MTEntryCommentCount$>]</div>
</MTCommentsRecentIfEntry>
<MTCommentsRecentIfComment>
<MTCommentsRecentHeader></MTCommentsRecentHeader>
<MTCommentEntry>
<a class="comment_excerpt" href="<$MTEntryPermalink$>#c<$MTCommentID$>"
title="<$MTEntryTitle$>"><$MTCommentBody convert_breaks="0" trim_to="35"$> ・・・</a>
</MTCommentEntry>
<div class="commentauthorlink">
└ <$MTCommentAuthorLink show_email="0" add_target="1"$> (<$MTCommentDate$>)
</div>
<MTCommentsRecentFooter></MTCommentsRecentFooter>
</MTCommentsRecentIfComment>
</MTCommentsRecent>
最初、<ul>、<li>タグを使ってリスト表示を試みましたが、スタイルの対応がブラウザ毎にまちまちなので止めました。代わりに<div>タグを使い、スタイルシートのマージン並びにパディングで同様の効果を出してみました。
リストタグって昔っから好きじゃないんですよね。
≪ 続きを隠す
投稿者 Locutus : 2005年11月28日 20:38
| コメント (0)
| トラックバック (0)
Movable Type 3.2からの改悪である、コメント投稿者のブログを同一ウィンドウで開く措置、これを修正しました。
参考にしたのはこちらです、有り難うございました。m( __ __ )m
└ コメント投稿者のBlogを別窓で開くプラグイン
あっさりと解決できる所がFujimotoさんの凄いところ!
今回も助かりました。感謝、感謝。
プラグイン名はaddtarget.pl です。あくまで自分の備忘録用です。
個別アーカイブを開き、
<$MTCommentAuthorLink$>に、add_target="1" 属性を付けるだけです。
<$MTCommentAuthorLink show_email="0" default_name="Anonymous" add_target="1"$>
≪ 続きを隠す
投稿者 Locutus : 2005年11月26日 02:24
| コメント (0)
| トラックバック (0)
このページの手順よりスマートな手順に変更しました。
└ BigPAPI に対応したエントリー&コメント絵文字用プラグインを使う!
MT Smileysプラグインを使って、MovableTypeのコメントとエントリー投稿でスマイル画像を使えるように改造しました。
最初に言っておくと、後から自分の好きな画像を自由に追加できます。なのでもっと使えるアイコンを増やしたいっ!なんて時でも問題ありません。
出来上がりはこんな感じです。
コメント欄の方は、このページの下の方で確認できます。
参考にしたのはこちらです、有り難うございました。m( __ __ )m
└ MT Smileys
└ コメントとエントリ投稿用絵文字パワーアップ
└ エントリーの絵文字を“MT Smileys”に変更
まずMT Hacksから、MTMacroとMTsmileyの二つをのファイルをダウンロードしてきます。
mtmacros.zipを解凍して、以下のファイルをそれぞれのディレクトリにアップします。bradchoateがないときは新たに作ります。
/plugins/macros.pl
/extlib/bradchoate/macros.pm
/extlib/bradchoate/postproc.pm
次に新しくテンプレート・モジュールを作成します。モジュール作成はテンプレートの所を探せばどこかにあります。
mt-smiley.zipを解凍して、smiley-javascript.txt、smiley-macros.txt、smileys.txtの3つを取り出します。
新規モジュールを以下のように作成します。モジュールの内容は以下を全部コピペします。
テンプレート名 モジュールの内容
smiley javascript → smiley-javascript.txt
smiley macros →→ smiley-macros.txt
smileys →→→→→ smileys.txt
同じくmt-smiley.zipからimagesフォルダのスマイル画像をサーバーにアップします。
アップロード先はどこでも良いのですが、うちの場合は、
サイトルート/images/smile/
にアップします。これに合わせて、テンプレート・モジュールsmileys、smiley-macros にある画像パスをすべて修正します。
次に実際のサイト閲覧に於いて、コメント記入やエントリー投稿したスマイル画像が表示されるページのテンプレートを修正します。
indexページ、個別、カテゴリ、月別アーカイブなどです。
<head> ~ </head>間に以下を追加!
<$MTInclude module="smiley macros"$>
<$MTInclude module="smiley javascript"$>
コメント投稿でスマイル画像を使えるようにする!
個別アーカイブを開き、コメントフォーム内<form> ~ </form>間に以下を追加!
<$MTInclude module="smileys"$>
↑これを挿入した箇所にコメント記入で使用するスマイル画像が表示されます。なのでsmileysの中身を<div>で囲むなりして、スタイル設定を効きやすくしておいた方がいいでしょう。
次に、コメント文を表示させる<$MTCommentBody$>を探して以下のように変更します。
<MTMacroApply><$MTCommentBody$></MTMacroApply>
以上で再構築すればコメント欄でスマイル画像が使えるようになります。
エントリー投稿欄でスマイル画像を使えるようにする!
エントリー本文ならびに追記を表示させる<$MTEntryBody$>、<$MTEntryMore$>をそれぞれ以下のように変更します。
<MTMacroApply><$MTEntryBody$></MTMacroApply>
<MTMacroApply><$MTEntryMore$></MTMacroApply>
次に、tmpl/cms/edit_entry.tmpl を開きます。このファイルはエントリー投稿画面の表示・動作を司るファイルになります。
まず「エントリーの内容」でスマイル画像を使えるようにします。
<div class="field-buttons">の上あたりにこれから説明するコードを追加します。2箇所見つかりますが、ひとつ目が「エントリーの内容」に相当、ふたつ目が「追記」に相当します。
なのでひとつ目の上に追加します。
(注意)MovableTypeのバージョンアップ等でクラス名が変わってる場合は自分で適当な位置にペーストして下さい。
追加するのは、モジュールsmileysの中身を修正したものです。
edit_entry.tmpl ではテンプレートタグ<MTBlogURL>が出力変換されないので、画像パスをフルパス表記に変えます。
<img>タグの<MTBlogURL>を実際のサイトパスに変えます。全ての画像パスに対して行って下さい。
<img src="<MTBlogURL>images/smile/icon_biggrin.gif" alt="Very Happy" width="15" height="15" border="0" class="smiley">
またスタイル設定用に全体を<div>タグで囲み任意のクラス名を付与します。うちの場合は、<div class="smile"> ~ </div>
ペーストし終われば、実際の「エントリーの内容」にスマイル画像ボタンが表示されます。
mt-static/styles.cssを開いてエントリー投稿画面の見映えを調節します。styles.css はエントリー投稿画面のスタイルを司るファイルになります。
└ エントリー投稿(編集)画面の文字サイズ&高さを修正!~MovableType
私の場合はこんな感じでスタイルを設定しました。Powered by~の設定はCSSよりも元の記述を消した方が早いかもしれません。
/* --- <div class="smile">~</div>
スマイル画像をまるごと囲んだもの --- */
.smile{
margin:0px 0px 15px;
}
/* --- <img class="smiley" src="~">
スマイル画像そのもの --- */
.smiley{
margin:0px;
}
/* --- Powered by MT Smileys --- */
.smileypowered{
display:none;
}
次に同じく tmpl/cms/edit_entry.tmpl から「エントリーの内容」と「追記」を表示させているコードの間に後記するjavascriptを挿入します。以下の文の後ろ辺りがいいでしょう。
<textarea onkeypress="mtShortCuts(event)" class="full-width" name="text" id="text" tabindex="3" cols="72" rows="<TMPL_IF NAME=DISP_PREFS_SHOW_EXTENDED>10
<TMPL_ELSE>20</TMPL_IF>"><TMPL_VAR NAME=TEXT ESCAPE=HTML></textarea>
</div>
この直後に以下のjavascriptを挿入します。因みに以下のコード内容は、smiley-javascript と同じものですが、投稿画面で使う為には一箇所だけ修正する必要があります。(赤文字部分、修正済み)
<script type="text/javascript" language="javascript">
<!--
// MT Smileys http://mt-hacks.com/mt-smileys.html
// Edited By Noel http://noe.lolipop.jp/
function emoticon (smiley) {
var txtarea = document.entry_form.text;
smiley = ' ' + smiley + ' ';
if(navigator.appName.indexOf("Microsoft") > -1){ // If IE
txtarea.focus();
if (!document.selection) return;
var range = document.selection.createRange();
range.text=smiley;
txtarea.focus();
// return false;
}else{ // If other browser
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? smiley + ' ' : smiley;
txtarea.focus();
} else {
var length = txtarea.textLength;
var start = txtarea.selectionStart;
var end = txtarea.selectionEnd;
var txtarea1 = txtarea.value.substring(0, start);
var txtarea2 = txtarea.value.substr(end, length);
txtarea.value = txtarea1 + smiley + txtarea2;
txtarea.focus();
}
}
}
//-->
</script>
次に「追記」でもスマイル画像を使えるようにします。やる事は同じでそれぞれのコードを追加していきます。ただ先程とは微妙にコードが違うので注意が必要です。
先程修正ペーストしたsmileysの中身を更に以下のように、javascript:emoticon の後に 1 を追加します。全ての<a>タグに対して行います。
<a href="javascript:emoticon1 ~
修正したコードを<div class="field-buttons">の上あたりに追加します。2箇所見つかりますが、ひとつ目が「エントリーの内容」に相当、ふたつ目が「追記」に相当します。
なのでふたつ目の上に追加します。
次に「追記」と「概要」を表示させているコードの間に後記するjavascriptを挿入します。以下の文の後ろ辺りがいいでしょう。
<textarea onkeypress="mtShortCuts(event)" class="full-width" name="text_more" id="text_more" tabindex="4" cols="72" rows="15"><TMPL_VAR NAME=TEXT_MORE ESCAPE=HTML></textarea>
</div>
この直後に以下のjavascriptを挿入します。先程ペーストしたものに若干の修正を施してあります。(赤文字部分)
<script type="text/javascript" language="javascript">
<!--
// MT Smileys http://mt-hacks.com/mt-smileys.html
// Edited By Noel http://noe.lolipop.jp/
function emoticon1 (smiley) {
var txtarea = document.entry_form.text_more;
smiley = ' ' + smiley + ' ';
if(navigator.appName.indexOf("Microsoft") > -1){ // If IE
txtarea.focus();
if (!document.selection) return;
var range = document.selection.createRange();
range.text=smiley;
txtarea.focus();
// return false;
}else{ // If other browser
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? smiley + ' ' : smiley;
txtarea.focus();
} else {
var length = txtarea.textLength;
var start = txtarea.selectionStart;
var end = txtarea.selectionEnd;
var txtarea1 = txtarea.value.substring(0, start);
var txtarea2 = txtarea.value.substr(end, length);
txtarea.value = txtarea1 + smiley + txtarea2;
txtarea.focus();
}
}
}
//-->
</script>
これで設定は全て終了、投稿画面「エントリーの内容」と「追記」、並びにコメント記入でスマイル画像が使えます。
尚、冒頭にも書きましたが、自分の好きな画像を後から追加する事もできます。
追加時に修正するのは、smileys、smiley-macros のモジュール二つと、edit_entry.tmpl の必要箇所です。追加する画像に則してパス名などを新たに設定します。
この時、青文字の部分は任意です。自分の好きな名前に変えておきましょう。任意Aの2箇所は同じ文字列にしておきます。
smileys、edit_entry.tmpl 内、
<a href="javascript:emoticon(':任意A:')"><img src="~"></a>
smiley-macros 内、
<MTMacroDefine name="任意B" string=":任意A:" no_html="1">
<img src="~" />
</MTMacroDefine>
(注意)
MTMacroは、定義したマクロに基づいて文字列を置換するプラグインです。なのでブログ内で使われるような文字列を指定すると、本文の代わりに画像が表示されてしまいます。
要するに使いそうもない文字列で定義しておけって事です。両脇をコロンで囲むなどして定義しておくのが無難でしょう。
【最後に】
自分の備忘録代わりに書いたものですが、随分と長くなりましたので、ひょっとしたら設定に間違いがあるかもしれません。多分大丈夫だと思いますが(汗)
おかしな所があればお知らせ頂けると助かります。m( __ __ )m
⇒ 追記:
コメント投稿者名にも画像を表示できます。
└ コメント投稿者名に管理人orゲストアイコン
favicon設定されているブログからトラックバック&コメントがあった場合にブログ名にファビコンを表示させられます。
└ コメント・トラックバック欄にファビコンを表示
└ コメント・TBにファビコン表示
≪ 続きを隠す
投稿者 Locutus : 2005年11月21日 02:29
| コメント (15)
| トラックバック (9)
MovableTypeのエントリー投稿画面に打ち消しボタン(strikeタグ)を追加してみました。
↓こんなやつです。
打ち消しボタン(strikeタグ)を追加!
参考にしたのはこちらです。
└ MTのエントリーボタンの追加
MovableTypeをインストしたフォルダにあるtmpl/cms/edit_entry.tmpl、bm_entry.tmplを開いて、次の箇所を探します。
write('<a title="<MT_TRANS phrase="Bold">"
これの上に以下を追加します。
write('<a title="<MT_TRANS phrase="Strike">" href="#" onclick="return formatStr(document.entry_form.text, \'strike\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-strike.gif" alt="<MT_TRANS phrase="Strike">" width="22" height="16" /></a>');
edit_entry.tmplの二つ目だけは青字部分を、document.entry_form.text_more に変更します。
因みにedit_entry.tmpl は通常のエントリー投稿画面で使うもので、二つあるのは一つめが通常投稿する部分で(body)、二つめは追記(more)に使われるものです。bm_entry.tmpl の方はクイック投稿(クイックポスト、QuickPost)の投稿ウィンドゥで使います。
あとはmt-static/images に画像をアップして完了です。
(注)何故かうまくいかない場合は、edit_entry.tmpl、bm_entry.tmpl から ItalicやUnderlineなど使いそうもないボタン設定を外して、代わりにstrike設定を書き込んでみて下さい。
≪ 続きを隠す
投稿者 Locutus : 2005年11月19日 12:07
| コメント (0)
| トラックバック (3)
≪HOME(21世紀のアフィリエイト通販生活)