MovableType一覧

MTで複数ブログをまとめて再構築

MTOSで作っているサイトは、PC版がほぼ完成に近づいてきました。

結果的に、ウェブサイトの下に4つのブログがぶら下がった形になっています。

本来ならそんなにブログは必要ないのかもしれませんが、できるだけ入力する際の混乱を避けるため、入力用テンプレートを分けることを考えたらこうなってしまいました。

もちろん、出来あがるページのテンプレートを、同じブログ内ではPC、携帯各1パターンに抑えたいということもあります。

この場合、入力は良いのですが再構築が大変です。

ウェブサイトのモジュールやウィジェットなど、すべてに共通する部分を変更したり、複数ブログにまたがって表示する項目を入れたりした時に、それぞれのブログを一つ一つ再構築していくのはかなり面倒です。

現在は全体を再構築するためには、ウェブサイトを含めて5回の再構築が必要です。
私自身が管理している間は面倒だけれどなんとかなるとして、手放した時に、果たしてそこまで誰もが忘れずにやってくれるか、というと疑問です。

これを何とかまとめて再構築する方法はないものかと思ったら…。

やっぱりありました。

「QuickRebuild」です。

これをインストールすることで、ボタンひとつですべて、または任意のブログを一度に再構築できます。

手間だけでなく、時間的にも大幅に短縮。いつものことながら、開発者の方には感謝、感謝です。


MTOSに傾き中…

仕事で作っている某サイト、MTOSでの作業が佳境に入ってきました。

壱さんのプラグイン「AnotherCustomFields」でのカスタムフィールド追加作業に慣れてきて、どんどん思うようにページの編集ができるようになり、一気に作業が進みました。本当に素晴らしいプラグインに感謝感謝です。

現在PC版は9割方完成したので、次は携帯/スマホ対応をしないといけないのですが、それがちょっと憂鬱です。

でも、せっかくCMSを使うのですから、できることならひとつの項目は一箇所に入力すれば全部勝手に出力されるところまでもって行きたいです。

今まではレガシーなサイトで、全てのページをひとつひとつhtml手打ちで更新しており、その作業そのものはそんなに大変ではないのですが、同じことを何度も打ち込むことになり、結果一部更新がもれてしまったり、上書き更新で前のデータが残ってしまったりしていました。

テンプレートやCSSの作りこみは正直すごく大変ですが、できたテンプレートにちょこちょこっと入力して再構築すると、思ったとおりの完成したhtmlが吐き出されてくる、というのはなかなかの快感です。あともう少し、頑張ります。

ここまで来ると、もうひとつボランティアで作りかけて放置している某サイトも、やっぱりMTOSにしようかと心が揺れています。

単純なブログであれば、明らかにWPのほうが良いと思うのですが、CMSとしての作りこみの過程から学ばなければならないと思うと手が止まってしまうんですよねぇ。

作っていくのはすっごく大変なんですが、タグや挙動を理解しているという意味ではやっぱりMT系の方が進めやすいかなぁ、なんて。

ただ、後のバージョンアップとかを考えると、MTは簡単じゃないんですよねぇ。もうちょっとWPを予習してから手をつけようかな…。


カスタムフィールドに入力した値を自動計算する

昨日の続きです。

なんとか、壱さんのプラグインを使ってカスタムフィールドを追加するところまでやってきました。

config.yamlを書くのは一見難しそうですが、サンプルを頼りに書いて行ったら、思ったより簡単に追加できました。しかも、複数フィールドを一気に追加できるので、ある意味商用MTよりラクかもしれません。

さて、フィールドを追加するときに、実は面積のフィールドが必要なのですが、以前だったら平米表示と坪表示で、それぞれに数字フィールドを設定していました。

でも、考えてみたらMTだってDBを使ったシステムな訳で、だったら自動計算できるんじゃないの?、と思い立ち、いろいろ調べてみたところ。

MT3.xまでは、これまた壱さんの作られたプラグインが活躍していたようなのですが、どうやら4.x以降はMTVar(MTSetVar)タグにopモディファイアを付けることで簡単な自動計算が可能になっていたのですね。

だったら入力項目は少ない方がいいし、平米表示の数字を入れたら、そこに自動で坪数表示もできるようにしよう、ということで。

出力用テンプレートを書いていく時に、以下のようにタグを挿入しました。
ちなみに「EntryRoomWidth」はカスタムフィールドです。

<mt:SetVarBlock name=”r-width”><$mt:EntryRoomWidth$></mt:SetVarBlock>
<$mt:GetVar name=”r-width”$>m<sup>2</sup>(<$mt:GetVar name=”r-width” value=”0.3025″ op=”*” regex_replace=”/(\d*)\.(\d*)/”,”$1″$>坪)

これで無事に、40平米のものなら、「40m2(12坪)」と表示されました。

まだまだCSSや項目の目次まで届きませんが、今日はここまで。

カメの歩みではありますが、少しずつ、進んでます。