CSSやテンプレの構成や保存など

カスタマイズしようと思って、いろいろMovableTypeを調べてます。
調べて分かったことを一応メモしておこう。

MovableTypeは基本的にデータベースで管理している。
こう書くと当たり前なんだけど。

動作のスクリプトは別として、投稿したブログ記事とかは当然なんだけど、
テンプレ等もデータベースに入れて管理している。
ここにちょっとはまった。
例えば、デフォルトだと2カラムにしたときに大きい方のカラム(記事の内容とかが表示される方)は、
760pxくらいのサイズに指定されている。
このブログはサイズを変更したいので、CSSをいじったりしたのだけど、再構築すると戻ってしまった。

これはテンプレ編集画面でbaseのCSSがあるのを見落としていた自分が悪いのだけど。
(デザインを決めるCSSは直接編集なので、baseもてっきり直接編集かとおもっていた)

たぶん、ブログ構築時にデータベースに読み込んでいるんだとおもう。
なので、MTをサーバに初めてアップするまでに書き換えておけばそれがデフォルトとなる。

また、すべてのテンプレもデータベースに登録されている。
てっきり、再構築時にファイルを読み込むとかしてやってんだとおもったら、データベースで管理しているみたい。

モジュールのテンプレは、ページ全体の定義しているテンプレがあり、個別のテンプレを読み込んで処理している。

個別のテンプレでは、主に2種類のフラグを見ている。
1つは、個別の機能管理用のフラグ。
もう1つは、そのページがなんのページかを定義しているフラグ。
後者はフラグというとちょっと語弊があるかもしれない。

実際には、もうひとつあって、フラグ管理していないいつでも表示する部分がある。

例えば、2カラム時のナビゲーションカラム(小さい方のカラム)は、
検索部分は、最後に該当する。
つまり、いつでも表示しますということで、フラグをチェックするIFのMTタグに挟まれていないということ。
RSS購読部分や、Powerd by部分も同様。

個別のフラグで管理されているものとしては、module_recent_entries で管理されている「最近のブログ記事」がある。
これは、このフラグがON(1)になっていると表示されるし、そうでなければ表示されない。
他には、module_category_archives フラグで管理されているカテゴリ表示もある。

どのページかを見ているものとしては、タグ表示がある。
メインページ(トップページ。index.html )であるかどうかを見ているのが「タグ」表示。
これはmain_index という変数を見ている。

もちろん複合もある。
「この**について」というやつがそうだ。
まず、module_about_context で、これを表示するかどうかのチェックをしている。
これをOFFにすれば当然ばっさりと表示されない。
次に、entry_templatearchive_template などを見て、どのページかをチェックして、そのページにふさわしい文面を表示するようにしている。


MTのテンプレというのは、モジュール化されている。
これは、完全に一般的なプログラミングと同様な考え方をしておけば、たいがいのことは理解できるはず。
よく使う機能はモジュール(=サブルーチン)化していて、モジュール内での動作はフラグ管理していると。
まぁそのフラグは引数ではなく、グローバル変数に該当するけど(引数的に指定するモジュールもあるようだ)。

まぁデフォルトだとページの種類自体は5つくらいなので、追っかけていってもそんなに大変ではないだろう。
モジュールテンプレートを新規作成することも当然できるので、いうなれば自作関数も作れますよと。
特にPHP経験者なら<>があってもそんなに違和感ないのかなぁとおもった。
PHPというよりは、smartyか。まぁテンプレートエンジンだな。

MTタグは<>で囲まれているが、基本的には一般的なプログラミング言語と同様。
まぁテンプレートエンジンの一種なんだから、Smartyに似ていて当然だし、プログラミング言語的な考え方するのも当然。

むしろ分かりづらいのは、HTML的な構造とそれに関するCSSかもしれない。
はっきりいって、デフォルトそのままは使いやすいとも思えないし、わかりやすいとも思えない。
使いづらいとまでは言わないが、少なくとも分かりづらいかなとおもう。
ある程度、HTML、CSSと何らかのプログラミングの知識があれば、多少慣れたところでリファクタリングというか自分で理解しやすいように書き直して整理していったほうがいいかもしれないとおもった。

後はMTタグ勉強しないといかんことは確か。
次はHTMLおよびCSS構造についてメモしよう。

カテゴリ:

関連する記事

この記事に関連する記事は、0 件です。

トラックバック

このブログ記事に対するトラックバックURL
http://fakelife.info/mt/system/mt-tb.cgi/19

コメントする


画像の中に見える文字を入力してください。