タグ : カスタムフィールド

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や項目の目次まで届きませんが、今日はここまで。

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