linkerは「人と人」「人と情報」「人と物」をつなぐデザインユニットです。

概要を手入力で入れたかどうかで出力を変えたい。


090216.gif

複数人で書いてるので、色々ルールを作っているこのlinker journal。
ルールがあったほうがブレが減るので楽ですが、ルールにしなくてもいいように作っておくのがベストだよなぁ、と思います。

journalの一覧部分の概要表示をごにょごにょ

まだまだボロが多くて恥ずかしいのですが、概要部分のpタグがいまいちよくなかったのでそこを修正しました。

MTで概要を表示させるには<$MTEntryExcerpt$>を使うわけなんですが、
概要欄に直接入力したかどうかを内容の有無によって判断することはできないんですよね。

モディファイアとしては convert_breaks が用意されていますが、これは改行を無視するかどうかくらい。
改行を外す設定はできればしたくなかったのですが、pタグでくくってしまうと、pが入れ子になっちゃう。
あんまよろしくないよなぁ、と。

ちょうど同じようなことは以前も詰まってて、

[MT]概要欄の有無で条件分岐 - mersy's lab
http://wp.mersy.jp/?p=283

とかでも考えていました。
とりあえず、linker journalではこのときにoscarさんに教えてもらった no_generate を使うことにして、
手入力で書かれている場合、excerpttextにその中身を入れるようにして条件分岐してみました。

<MTSetVarBlock name="excerpttext"><$MTEntryExcerpt no_generate="1"$></MTSetVarBlock>
<MTIf name="excerpttext">
<$MTEntryExcerpt convert_breaks="1"$>
<MTElse>
<p><$MTEntryExcerpt$></p>
</MTIf>

とりあえず、これで問題なくはうごいてるので、しばし様子見ってな感じです。

excerpttextに初期値をセットしておいて、その初期値と同じ場合はpタグをつけて、
初期値と違う場合はpタグをつけずに概要を表示、という条件分岐の方が良かったのかなぁ?となんとなく思ったりもしてます。
なんかスマートじゃないなぁという気もするので、また機会を見つけて考えてみたいところです。
モディファイア追加にならないかなぁ。
(余談:新たに追加になったモディファイアとかってfeedとかでおっかけられないんですかね??)

というか、そもそももっとスマートな方法を知ってたら是非とも教えてもらいたいです。

作る前にしっかり設計が重要

管理画面から直接編集してるのか、とかectoとか使ってるのか?とか
(ちなみにわはectoで更新してます。複数人でやってみたりして、色々新発見もあったりしてます)
どういう感じで3人が更新してるかによっても、もろもろの設定だったり色々かわってくるので、
そのあたりも含めて、事前にしっかり設計しておくことが必要ですね。