Movable Type 備忘録
テンプレート MT.4 for Movable Type 4
- Prev Page: テンプレート MT.3 for Movable Type 4
- Next Page: MovableType MEMOのテンプレートお使いのみなさんへ
こんばんわ^^
今日は台風が近づいてたため、ずっと引き篭もってました (; ̄∇ ̄A
掃除や衣類の整理したり、お昼寝や友達と電話、ねこタンと遊んだりなど、久しぶりにまったりとした 1 日を過ごした bzbell です。
今ではすっかり台風一過、ところどころ雲の合間から空が見え隠れしてます。
明日はすっかりいい天気だといいな (●´∀`●)
さて、テンプレート作ったので公開します。 1 ヶ月ぶりくらいになるかな、テンプレートを公開するのは。
今回は無機質な金属の色で作ってみました。
わたしの目は色素が薄いみたいで、目が疲れやすいんだそうです。
目の色に限らず髪の色から肌の色、全体的に色素が薄いかんじで、もう少しがんばったら透明人間になれるかも!! なんて言われたこともありました (●>∀<●) てへ
そのせいか、あまり際立つ色を使いません。なるべく全体と馴染むような色を調整しながら作ってます。なので、出来上がったときにはだいたいが地味ぃ~なテンプレートになってます (; ̄∇ ̄A はは
フリー素材の写真とかイラスト使えばもっとラブリーなのが作れそうだけどね。
良かったら使ってください♪
- 2007.11.03 -
以下の不具合を対応しました。
- Firefox において、リンク URL にアンカー指定(たとえば、http://●●●.com/page.html#more)した場合、ページ全体がアンカーの位置分上位にズレてしまう。
- Opera 9.2 において、サイドバー右端に余白ができてしまう。
こちらのページを参考に実験的にやってみたらできちゃったので、『へぇ~こんな方法もあるんだ』と、一通り確認もせず楽観的にリリースしてしまったのが間違いでした。
上記ページの方法は使用しないで、オーソドックスなスタイルに戻しましたので、Opera 9.2 の方もいっしょに直りました。
- 2007.10.29 -
ウェブページ用のコンテナ・テンプレート(ウェブコンテナ)内に、わたしのサイトのナビバーがそのまま残ってしまっていました。すいません。
こちらのテンプレート一時配布をやめます。
Firefox で【 READ MORE】のリンクでページ移動すると、なぜか、全体的に位置が上の方にズレる現象がありました。また、Opera 9.2 ではサイドバーの位置が左にズレる現象も見つかりましたので。
後日改めて配布いたします (m;_ _)mペコ
テンプレートのダウンロード
テンプレート MT.4 for Movable Type 4
テンプレートの設置
Movable Type 4 テンプレート設置のためのファイルを用意しました。
以下のマニュアルをお読みください。ファイル形式は PDF です。
Movable Type4テンプレート設置マニュアル
サイドバーの幅変更
左図で示すように、デフォルトのサイドバーの幅は 332px です。
332px とは、センターサイドバー幅(=312px) + サイドバーの左右パディング(=10px × 2)を計算した値です。
また、センターサイドバー(=312px) は、左サイドバー幅(=156px) + 右サイドバー幅(=156px) + 左右サイドバーのマージン(=10px) を計算した値となっています。
スタイルシートでいうと base_theme.css 内の以下の場所を変更することになります。
スタイルシート(ベーステーマ)を変更
base_theme.css / 2 カラム用
body.layout-wt #alpha-inner {margin: 0 322px 0 0;padding: 10px;height: 100%;}body.layout-wt #sidebar {margin-left: -312px;padding-top: 10px;float: left;}body.layout-wt #sidebar div.omega,body.layout-wt #beta,body.layout-wt #gamma {width: 312px;text-align: left;}
上記は 2 カラム用のスタイルを抜粋したものです。
青い字の部分には、サイドバー幅を指定します。
そして、緑の字の部分には青い字の幅と同サイズを指定します。さらに赤い字の部分には緑の字の幅 + 10px のサイズを指定します。
base_theme.css / 3 カラム用
body.layout-wtt #alpha-inner {margin: 0 322px 0 0;padding: 10px;height: 100%;}body.layout-wtt #sidebar {margin-left: -312px;padding-top: 10px;float: left;}body.layout-wtt #sidebar div.omega {width: 312px;text-align: left;clear: both;}body.layout-wtt #beta,body.layout-wtt #gamma {width: 156px;float: left;text-align: left;}
上記は 3 カラム用のスタイルを抜粋したものです。
青い字の部分には、左右サイドバー幅を指定します。
そして、緑の字の部分には青い字の幅 × 2 のサイズを指定します。さらに赤い字の部分には緑の字の幅 + 10px のサイズを指定します。
スタイルシート(テーマ別)を変更
stingray.css
body.layout-wt #alpha-inner,body.layout-wtt #alpha-inner {margin-right: 332px;border-right: 1px solid #aaa;background-color: #eae8e1;}body.layout-wt #sidebar,body.layout-wtt #sidebar {margin-left: -332px;background: #0b0b0b url(site-sidebar.gif) repeat-x top left;}
上記はテーマ固有のレイアウトに関するスタイルを抜粋したものです。
青い字の部分には base_theme.css の #sidebar の幅(=312px)+パディング(=10px)×2 を指定します。
そして、赤い字の部分には青い字の幅と同サイズを指定してください。
また、サイドバー幅変更(デフォルトより小さくした場合)に伴って以下のウィジェットが影響されます。
- カレンダー幅
- 最近のコメント/トラックバックツリー
カレンダーの幅はギリギリの幅になってますので、156px 以下の幅にした場合、
- フォントサイズを小さくする
- 各日付の幅を可能な限り小さくする
- カレンダー表示をやめる
の、いずれかで対応することになるかと思います。
カレンダーのスタイルは stingray.css 内の 1036 行目あたりで定義してます。
次に、最近のコメント/トラックバックツリーです。
最近のコメント/トラックバックツリーでは横幅指定はありません。
その代わり、各エントリのタイトルの表示文字数を指定することでキレイに表示させることができます。
具体的には dtree.posts.js にて、エントリタイトルの表示文字数を変更します。
'trimj_to' というキーワードで検索すると、3 箇所で表示文字数を指定しています。
デフォルトでは最大 34( or 24) 文字(半角文字)となってます。
それ以降は '・・・' という文字に変換されます。
JavaScript に関しては、各自のお好みで調整してちょうどいい文字数を指定してあげてください。
ちなみに、わたしのサイトのサイドバー幅は、ブログパーツの関係上以下のようなサイズになってます。
base_theme.css
body.layout-wt #alpha-inner {margin: 0 346px 0 0;}body.layout-wt #sidebar {margin-left: -312px;}body.layout-wt #sidebar div.omega,body.layout-wt #beta,body.layout-wt #gamma {width: 312px;}body.layout-wtt #alpha-inner {margin: 0 346px 0 0;}body.layout-wtt #sidebar {margin-left: -336px;}body.layout-wtt #sidebar div.omega {width: 336px;}body.layout-wtt #beta,body.layout-wtt #gamma {width: 168px;}
上記は base_theme.css です。
そして、stingray.css は以下のようになります。
stingray.css
body.layout-wt #alpha-inner,body.layout-wtt #alpha-inner {margin-right: 356px;}body.layout-wt #sidebar,body.layout-wtt #sidebar {margin-left: -356px;}
本文の高さがサイドバーの高さより短い場合
右図のように本文(コンテンツ)の高さがサイドバーの高さより長い場合、本文(コンテンツ)とサイドバーの背景はキレイに表示されます。
実は本文(コンテンツ)の高さ - サイドバーの高さの差分はコンテナの背景が見えています。
コンテナの背景とサイドバーの背景を同じにすることで、視覚的に本文(コンテンツ)の背景とサイドバーの背景をくっきり分かれて表示されてるように見えています。
ですが、本文(コンテンツ)の高さがサイドバーの高さより短くなった場合、右図のようにサイドバーの高さ - 本文(コンテンツ)の高さの差分にコンテナの背景が見えてしまうことになります。
CSS では異なるブロックの高さを揃えることはできません。その対策の 1 つとしてCSS Happy Life さんのとこで紹介されてた ブロックレベル要素の高さを揃える を実験的にやってみたわけです ( ̄∇ ̄)b
でも、ブロックレベル要素の高さを揃える方法だと不都合が生じてしまって、抜本的な対策が見つからなかったので今使用していません。
なので、上記で説明したような現象が発生してしまいます。
ここでは、そのような現象が気に入らない!! って人のためにスタイルシートの修正および、サイドバー用のイメージを作成することで対応する方法を記します。
サイドバーの長さに合わせて以下のイメージの長さを加工します。
上記イメージファイルをダウンロードして、イメージの長さをお好みのサイドバーの長さにカットしてください。
たとえば、デフォルトのサイドバーの長さは 332px なので、イメージの長さも 332px にカットします。カットしたら保存して、他のイメージファイルのアップロード先と同じ場所にアップロードしてください。
次に以下のように stingray.css を変更します。
stingray.css
body.layout-wt #container-inner,body.layout-wtt #container-inner {position: relative;background: #eae8e1 url(content-body.gif) repeat-y top right;border-left: 1px solid #aaa;border-right: 1px solid #aaa;}
青い字の部分を変更しています。
もう 1 箇所、以下のように修正します。stingray.css
#header {width: 100%;float: left;text-align: left;background: #3b3b3b url(site-container.gif) repeat-x top left;}
赤い字の部分を追加します。
以上で本文(コンテンツ)の高さがサイドバーの高さより短くっても長くってもキレイに表示されるようになります。
だったら最初っからこのようにすればいいじゃん!! って思うのですが、イメージの加工が伴うので、あえてこのような対策はしないようにしています。
でも、使う人がこの程度なら苦じゃないよ!! っといってくれるようだったら、ここで紹介してる対策をデフォルトとしちゃおうかと思います。
Trackback Pings(1)
- from
CreativeStyle
@Styleで配布されている「MovableType 4 無料テンプレート 2C...








テンプレートが大変気に入りましたので、MT4に使ってみましたが、タグクラウドがクラウドにならず、関連するエントリも表示されません。
エントリーを二件テスト投稿した結果が以下の通りです。
http://skisoku.com
色々と試みてみましたが、プログラミングの知識不足のためか、うまくいきません。ご教示いただけたら、と思います。
>>1 小林 明 さん
こんにちわ^^
> テンプレートが大変気に入りましたので、MT4に使ってみました・・・
ありがとうございますぅ
タグクラウドが表示されない件について、明記していただいた URL が Forbidden で確認できなかったのですが、上記内容から察するに、
タグ自体は表示されるけど、普通にリスト表示されてしまう
ということでしょうか!?
それだとしたら、恐らく CSS に問題がありますね
今は会社なので何もできないのですが、帰宅したらテンプレートの方確認してみます。
す、すいません、urlを間違えていました
http://skisoku.net
でした。
>>3 小林 明 さん
拝見しました。
小林 明 さんとこのタグクラウドはレベルをLv.1 ~ Lv.7 に設定してますね。
CSS 上は Lv.1 ~ Lv.6 までカバーしてます。
ですので、以下の点を確認してみてください。
この場合は、max=7 を max=6 に変更すれば期待通りの表示がされるはずです
そうすると、テンプレートのミスになりますけど・・・
または、CSS 内を rank-6 というキーワードで検索して、同様の記述で rank-7 を追加すれば OK です
ご回答ありがとうございます
テンプレートモジュール「サイドバー(2カラム)」、「サイドバー(3カラム)」内のタグクラウド表示のところでmax="6"にしたり、CSS 内を rank-6 というキーワードで検索して、同様の記述で rank-7 を追加したり、とやってみましたが、ダメでした
現在はmax="6"にして rank-7の記述は外しています。
>>5 小林 明 さん
> ・・・とやってみましたが、ダメでした
えっ!? 今確認したところ、ちゃんと表示されてるようですよ
>>6 bzbellさん
何度もすいません
>タグ自体は表示されるけど、普通にリスト表示されてしまう
まさに上記の状態が続いていて、関連するエントリも表示されないのです
すいません、本当にすいません・・・
>>7 小林 明 さん
遅くなりましたぁ
> まさに上記の状態が続いていて、関連するエントリも表示されないのです
えとぉ・・・やっぱりわたしのブラウザからは本来の姿に見えてるんですけど
小林 明 さんは何のブラウザをお使いですか !?
または、どんな表示のされ方を期待してますか !?
>> bzbellさん
小林です。たびたびすいません
>小林 明 さんは何のブラウザをお使いですか !?
IE7です。FirefoxとOperaも使っています。
>または、どんな表示のされ方を期待してますか !?
現在、同じタグが「テスト」「テスト」と2つ並んで表示されています。ひとつのタグ「テスト」のみ表示させるわけにはいかないのでしょうか?
それから同じタグを使用しているのに「関連するエントリ」にエントリがリスト表示されないんですが・・・これはエントリを多数投稿することにより解決されるのでしょうか?
>>9 小林 明 さん
こんにちわ^^
> 現在、同じタグが「テスト」「テスト」と2つ並んで表示されています。ひとつのタグ「テスト」のみ表示させるわけにはいかないのでしょうか?
あっそちらのことですか
すいません、リストの並び方の問題と勘違いしてました。
後ほどお話しようと思ってたのですが、以前にも同じ現象の人がいまして、その時は文字コードの不一致による現象でした。
テンプレート上は UTF-8 を使用されてますが、データベース上では UTF-8 以外を使用されてませんか!?
おそらく、半角英数字だと問題ないと思います。
日本語だと文字コードによる影響により別タグとして扱われているようです。
データベースの文字コードを確認してみてください
>>10 bzbell さん
ありがとうございました
データベースの文字コードを替えたらうまくいきくました。
うれしいのなんのって
>>11 小林 明 さん
> データベースの文字コードを替えたらうまくいきくました。
よかったですね
また何かありましたらご連絡ください
こんにちわ。
テンプレートが気に入ったので使わせていただいております。ありがとうございます。
幅720pxの写真を掲載するため、sidebarを細めに変更させていただいています。
http://capcake.com/capblog/
Firefox および IE7では問題ないのですが、IE6に限りindexページでsidebarが表示されません。
permalinkやarchiveページでは問題ないので、Ajax部分の幅が原因ではないかと考えtrim_toの文字数を変更してみましたが、うまくいきません。
ご教示いただけたら、と思います。
>>13 capcake さん
こんばんわ^^
使っていただいてありがとうございます
ご質問の件ですが、サイドバー幅を変更(小さく)した場合に段落ちするほとんどは、コメント/トラックバックツリーの幅が原因( 主にトラックバック )です。
そこら辺の説明をしてないので申し訳ないのですが、JavaScript が出力するトラックバック先の文字列の長さがサイドバー幅を超えた場合に起こる現象だと思われます。
ですので、以下の手順で都合のいい文字列長さに変更してみてください。
適当な長さ(たとえば、24 文字 )に変更して、再構築してください。
ポイントは、チマチマ減らすのではなく、最初は大胆に減らして、値を増やしながら調整していきます
以上です。
さっそくのご教示ありがとうございます。
そうですよね。設置手順書にも書かれていましたので、trimj_toの値を3ヶ所とも"5"や"10"に変えてみたのですが、うまくいきません。。。というより、trimj_to自体が機能してないように見えます(文字数が変化しません)。
プラグインも設置手順書に示されている通りです。。。
ありがとうございました。解決しました。
dtree.posts.js で使われていたのは「trimj_to」だったのですね。(trim_toだと思いこんでいたので、MT4ではプラグイン不要と思って、何も入れていませんでした)
dtree.posts.js の「trimj_to」の部分を「trim_to」に書き換えたところ機能するようになりました。
参考になるコードが満載で、いつも勉強させていただいております。今後ともよろしくお願いします。
m(__)m
>>15 capcake さん
>>16 capcake さん
> ありがとうございました。解決しました。
よかったでぅ
もしかして環境依存があるのかなぁと思いまして、わたしのとこでも試してみてとこでした。
trim_to でもいいですよ。
お好み次第ですが、trimj_to はトリミング後 '…' を付加してくれるだけなので
追加情報です。
>trimj_to はトリミング後 '…' を付加してくれる
trim_toでも「...」を追加できましたので、参考までにご報告させていただきます。
MT4.01に含まれる、lib/MT/Template/ContextHandlers.pm
の570~575行目
------
sub _fltr_trim_to {
my ($str, $val, $ctx) = @_;
$str = substr_text($str, 0, $val) if $val $str;
}
------
の573行目を、
$str = substr_text($str, 0, $val)."..." if $val と書き換えるだけでした。
>>18 capcake さん
> trim_toでも「...」を追加できましたので、参考までにご報告させていただきます。
ご連絡ありがとうございます。
この程度ならデフォルト or モディファイアで対応して欲しいですよね。
てか、日本語版のみ対応になっちゃうからダメなのかなぁ。
capcake さんは MT のコード読めるんですね
わたしも多少は読めるのですが、どぅも Perl って苦手でして
Perl について分からないことあったら聞いてもいいですか
>>19 bzbell さん
私もPerlは苦手なんです。
お役に立てることがあればよいのですが、bzbellさんより分かることは何ひとつ無いと思いますよ・・・
知りたがり&新しモノ好きなだけの日曜プログラマーなのですが、これからも色々と勉強させていただけたら、とてもありがたいことですね。
>>20 capcake さん
こんにちわ^^
わたしもサンデープログラマなんです
プログラマなんて呼べる程スキルが伴ってませんが、すべて( CSS やいろんなプログラミング言語 )において独学なので基礎が不十分なんですよね
いろいろ相談に乗ってください
お互いで足らないところ補ったり、スキルアップしていけたらな・・・と思います
はじめまして。
テンプレート大変気に入っていまして、使わせて頂いています♪ありがとうございます。
すごく初歩的なことで恐縮ですが、教えてください。
サイドバーの配置を変えたいのですが、テンプレートモジュール「サイドバー(2カラム)」、「サイドバー(3カラム)」をいじっても配置が変わらず困っています。・゚・(ノД`)・゚・。
そもそも「サイドバー(2カラム)」で変更するのが正しいのかもわからず、どこをどう編集すればよいのか、お手数ですが教えて頂ければと思います。
マニュアルの最後らへんにそれらしきもの(サイドバーの変更)がのっていましたが、プログラム知識がなく、ちんぷんかんぷんでした。。。orz
>>22 ken さん
> テンプレート大変気に入っていまして、使わせて頂いています♪ありがとうございます。
ありがとうございます
ご質問の件ですが、サイドバーの配置とは、たとえば、右にあるサイドバーを左に・・・というような認識でよかったですか !?
もしそうだとした場合、こちらのテンプレートはサイドバーの配置変更できないんです
申し訳ないです
レイアウト変更も考慮した現行テンプレート(MT 4.1 以降)では、MT 4.0 向けのデザインをフィードバックしていく予定なので、その時は対応するつもりです。
もしよかったらその時にまた使っていただけると嬉しいです
>>23 bzbell さん
返信遅れました。申し訳ないです。
また、言葉足らずで申し訳ないです。
>>サイドバーの配置とは、たとえば、右にあるサイドバーを左に・・・
サイドバーの配置は今のままで問題ないです。例えばカレンダーの位置を一番上にもっていきたいなどをしたいと思っています。
ご迷惑お掛けしますが、ご教授のほど宜しくお願いします。
>>24 ken さん
こんにちわ^^
> サイドバーの配置は今のままで問題ないです。例えばカレンダーの位置を一番上にもっていきたいなどをしたいと思っています。
あっそぅいぅことでしたか。
それでしたら問題ありません。
今お仕事中なので少しお時間ください。
帰宅したらご連絡しますので
>>24 ken さん
遅くなりましたぁ
まず変更するテンプレートは、テンプレートモジュール内の「サイドバー (3カラム)」です。
サイドバーの大まかな構成を以下に記します。
omega は横幅の長いウィジェット用です。
beta はサイドバー内の左側に位置するウィジェット用です。
そして、gammga はサイドバー内の右側に位置するウィジェット用になります。
ブログパーツなどはページ下に配置した方がよいようなので gamma に内に含めます。
そして、各ウィジェットは以下のような構成になっています。
必ず上記のような構成を 1 ウィジェットとして扱います。
ですので、ウィジェット単位での位置変更は上記のウィジェット構成単位で移動させれば OK になります
で、ken さんがやろうとしてるカレンダーの移動は、267 ~ 277 行目を、たとえば一番上( omega 内 )に持ってきたい場合、<div class="omega-inner"> の直ぐ下辺りに移動させればよいと思います。
>>26 bzbell さん
返信ありがとうございます!
無事、配置変更ができました。
また、ブログパーツもつけようと考えてたので、大変参考になります。
お忙しい中、ご丁寧な解説ありがとうございました♪
>>27 ken さん
> 返信ありがとうございます!
> 無事、配置変更ができました。
どぉいたしまして
よかったですね。
何か問題などありましたらご連絡いただければと思います