JavaScriptをOFFにしている方にはあまり関係ないんですが。
JavaScriptを使って「続きを読む...」の改良を行ないました。
参考にしたのはこちらのサイト。
私はINDEX(トップ)ページが長くなるのが嫌だったので
導入部分だけをBodyに書き、後は追記の形でずっと書いてきたのですが
続きを読むをクリックすると、パーマネントリンクへ飛んでしまい
あんまり具合がよくないなぁ、とずっと思っておりました。
上記サイトの方法を使うと、
その場で続きが現れて非常にいい感じです。
変更箇所はMainINDEXのテンプレートの2箇所。
まず、最初の方にあるJavaScriptの部分に下記を足します。
<script language="javascript">
function showMore(varA1, varB1){
var123 = ('varXYZ' + (varA1));
varABC = ('varP' + (varA1));
if( document.getElementById ) {
if( document.getElementById(var123).style.display ) {
if( varB1 != 0 ) {
document.getElementById(var123).style.display = "block";
document.getElementById(varABC).style.display = "none";
} else { document.getElementById(var123).style.display = "none";
document.getElementById(varABC).style.display = "block"; }
} else { location.href = varB1;
return true; }
} else { location.href = varB1;
return true; }
}
</script>
後、続きを読む部分の
<MTEntryIfExtended>
<span class="extended"><a href="<$MTEntryPermalink$>#more">Continue reading "<$MTEntryTitle$>"</a></span><br />
</MTEntryIfExtended>
の部分を以下に書き換えます
<MTEntryIfExtended>
<span id="varP<$MTEntryID$>"><a title="続きを読む" href="<$MTEntryLink$>#<$MTEntryID pad="1"$>" onclick="showMore(<$MTEntryID$>,'<$MTEntryLink$>#<$MTEntryID pad="1"$>');return false;">続きを読む...</a></span>
<div id="varXYZ<$MTEntryID$>" style="display: none"><$MTEntryMore$><a title="続きを隠す" href="#<$MTEntryID pad="1"$>" onclick="showMore(<$MTEntryID$>,0);return true;">...元に戻す</a></div>
</MTEntryIfExtended>
で、保存し、再構築してオシマイ、と。
MTにしてよかったなぁ、と思うのは
こういうTIPSが日本語で多数ある所ですねー。
巷ではMT3.1がもうすぐだとか色々言われてますが
3.x以降はライセンスが必要となってくるのでまだ移行する気はないです。
移行するとしたら、友人も使ってて結構ヨサゲなNucleusかなーと思ってるんですが
如何せん、英語で情報を集めなければならないのがちょっとダルく
二の足を踏んでおります。
とりあえず、大きな穴が見つかるまではMT2.661のままで頑張っていきますです。