再構築できたのに、変更が反映されていない…
再構築では何もエラーが出なかったのに、いざ再構築したはずのページを見ると、ソースが変わってない!ということがありました。
解明に意外と手間取ってしまったので、忘れないようにメモしておきます。気付いてしまえば、簡単なことだったんですが…
最初に原因を言ってしまうと「変数名の表記を間違えていた」です。
具体的には、以下のようにテンプレートに変数をセットしていました。
<MTSetVars> title=タイトル css_path=/common/style.css keys=<$MTBlogDescription$> des=<$MTBlogDescription$> </MTSetVars>
こんな感じでCSSのパスを変数化していたんですが、何度再構築しても、CSSのパスが変わってくれない!同様の変数セットを使っている他のブログは大丈夫なのになー。。
パスを絶対にしてみたり、相対にしてみたり、ルート相対にしてみたり、はたまたMTタグを入れて書いてみたり…と試してもダメ。
変数に代入する値にばかり気を取られていたのですが、実際には本当に単純な凡ミスで、何かの拍子に本当は「keys」としていた変数名を「key」としてしまっていました。
どうやら、そのせいで、その他の変数部分も読み込みされなかったのが原因だったようです。
結局は、ただのケアレスミスだったのでした^^;
特定のカテゴリーを非表示にする
Movable Type(以下MT)で、特定のカテゴリーだけを非表示にしたい時。
カテゴリーを動的表示にしていると、そんな時が出てきます。
エントリーの場合は、以下のようにモディファイアを使って出来るので…
MTCategoriesでもモディファイアを使って出来るだろう、と思いきや、これが出来ないのですねー。
MT4以降、変数をセットして使えるようになったので、変数にカテゴリー名をセットして、MTUnless(※)で分岐させても実現できます。
※MTUnlessは、MTIfの否定バージョンで、「MTIf NOT」つまり「○○でない場合は」という条件分岐です。
これだとプラグインを使わずに特定カテゴリの非表示が実現できるのですが、でも、ちょっとめんどくさいナ…
というわけで、MT3の時代からお世話になっているプラグイン「FilterCategories」の出番です。
MTのプラグインはみんなそうですが、インストールはとても簡単で、解凍したプラグインファイルを「plugins」ディレクトリにアップするだけ。
プラグインのインストール後は、以下のようなタグが使えるようになります。
<MTFilterCategories exclude="非表示1|非表示2"> hogehoge </MTFilterCategories>
プラグインの最終更新日が2007年12月なのですが、MT5でも問題なく使えました^^
MTで複数ブログをまとめて再構築する方法
Movable Type(以下MT)で複数ブログを使ったサイトを更新していると、全体が再構築されないことがあります。
あっちこっちで共通部分をインクルードしていたりすると、特に気になったり。
ブログが10個とかになると、ひとつひとつに手動で再構築をかけていくのも面倒です。
再構築トリガーやプラグインを試してみても、イマイチすっきり再構築してくれず困っていた時に発見したのがコレ!
対応MTは4.2までとなっていますが、5でもちゃんと使えました。
http://tec.toi-planning.net/mt/rebuildlet/
使い方はちょっと変わっていて、まず上記ページにあるリンクをお気に入りにブックマークします。
再構築をかけたい時は、MT管理画面にログインした状態でブックマークしたURLにアクセス!
すると…
こんな感じでブログをリストアップしてくれます。
あとは再構築したいブログをチェックして、「Rebuild」ボタンをクリックすればOK!
本当に便利です^^
Google Analytics(グーグル・アナリティクス)で滞在時間がゼロって何?
今やアクセス解析ツールのデファクト・スタンダードになったGoogle Analytics(グーグル・アナリティクス)。
無料なのに、とっても高機能なアクセス解析ツールです。
高機能過ぎて、いまいち完全に使いこなせていないのですが^^;
解析項目のひとつに、そのページをどれくらいの時間見ていたかがわかる「滞在時間」というものがあるのですが、これが0秒!ということがあります。
まったく見てないってこと…?と思ってしまうのですが、カラクリはこうです。
Google Analyticsでは、今見ているページから次のページへ移動するまでの差分の時間を「滞在時間」としています。
なので、そのページを30分じっくり読んだとしても、別ページへ移動せずに閉じるか離脱してしまった場合には、0秒になってしまいます。
サイト内で最後に見たページの場合も、次に見たページが存在していないので、同じく0秒。
滞在時間が0秒の時は、どうしてページ内のリンクをクリックしてもらえなかったのか?を考えるのが良さそうです。
MT5でウェブサイトを複製したい
Movable Type(以下MT)4から使えるようになったブログの複製機能。
テスト環境や姉妹サイトを作るのになかなか便利です。
MT5では、複数のブログを束ねる「ウェブサイト」という概念が新たに登場したんですが、さて、このウェブサイトの複製機能がない!
ブログをひとつずつ複製して、新しく作ったウェブサイトに移動させて…という地道な作業もアリかもしれませんが…
「バックアップ」を取って、違うパスに「復元」させると楽です。
バックアップは、システムメニューの「ツール」から使えます。
「復元」も同じくシステムメニューから。
復元させるときに、復元場所のパスを指定できるので、適当な場所にウェブサイトごと復元すれば、ウェブサイトの複製完了!
ちょっと不便なのは、復元したウェブサイトの名前が丸っきりそのままなこと。
- ウェブサイト
- ウェブサイトのコピー
くらいの違いがあってもいいと思うんですが、同じ名前なので見分けが付きにくい…
でも、ウェブサイトの名前ってユニークじゃなくてもいいんだ、と変なところで発見があったり。