5 posts tagged “movabletype”
自分用に、忘れないためのメモ。
Movable Type (version 4.1b3)のテンプレートをまじまじと眺めていたら、ウィジェットの中に以下のような記述を発見。
<mt:Pages no_folder="1" sort_by="title" sort_order="ascend">
<mt:PagesHeader>
<ul class="widget-list">
</mt:PagesHeader>
<li class="widget-list-item"><a href="<$mt:PagePermalink$>" title="<$mt:PageTitle$>"><$mt:PageTitle$></a></li>
<mt:PagesFooter>
</ul>
</mt:PagesFooter>
</mt:Pages>
mt:Pagesのアトリビュートに、no_folder="1"というものがあるのだな、と。
テンプレートタグリファレンスには書いていないけれど、フォルダに入っていないウェブページだけを抜き出せるんですね。
under the bridgeさんに書いてありました→トップレベルのウェブページのみ抜き出す
[2008年1月27日追記]
goyaさんが、テンプレートタグリファレンスに追記してくださったのでした:-)
って書くの忘れていました!
MTPages | テンプレートタグリファレンス
ありがたや、ありがたや(-人-)
尊敬申し上げるjunnamaさんが、先日の「Movable Type4で画像挿入するときの位置設定とか。」のいうエントリでワタクシがピーピー申し上げていたことを解決するプラグインを書いてくださいました!
StylelessImage[Junnama Online (Mirror)]
MT4の画像挿入の際にclassやstyleが付くのが嫌、というマークアップこだわり派のあなたのために作りました(笑)。
早速DLして、インストールさせていただきましたです!!!
っで、画像をアップロードしようとすると…。
出てます!出てますよー!位置の設定「なし」のラジオボタンが><
そして、吐き出されたソースがこちら。
美しさのあまり、ちょっと光感を演出してみました(笑)
すっきり!!!!!です!!!!
junnamaさん、本当にありがとうございます!大活用させていただきます!
このお礼は、きっと次回お目にかかったときに><
プラグインの名前も私が出させていただいた候補から選んでいただけて、感激です!
先週の土曜日のWebSig24/7 MT4分科会 第1回イベント「WebSig24/7 2007年秋 MT4の日 」が終了した後、懇親会の後に、別途スタッフ反省会があったのです。
参加者は、Dakinyさん、もでっちさん、ごんたさん(でよろしいんでしょうか?)、junnamaさん、壱さん、ちびぽっぽさん&ワタクシ。
およそ二時間にわたり、Movable Type&Websig&業界全般について、楽しく真剣にお話をさせていただきました。
で、そのときに、Dakinyさんと私が、こんなことで同意したのです。
「Movable Type4で画像をアップロードするとき、位置の設定が「左・中央・右」のどれかを強制的に選ばなければならなくて、吐き出されたソースにclassとstyleが勝手に入っているのがイヤですよねー。位置の設定「なし」というのを選べればいいのに!」
この操作で吐き出されるソース。
<form contenteditable="false" mt:asset-id="36" class="mt-enclosure mt-enclosure-image"><img alt="d_040119_01.jpg" src="http://localhost/test/images/d_040119_01.jpg" class="mt-image-left" style="margin: 0pt 20px 20px 0pt; float: left;" height="1165" width="788" /></form> <div><br /></div>
デフォルトのテンプレートではなく、自分が作ったテンプレートを使用している場合、このソース中の赤い文字部分が要らないので、いちいち手で削除しております。(最後のdivとbrは、かなり謎なり)
なので、位置の設定「なし」という選択肢があってこの赤い文字部分のソースが吐かれないようになれば、もっといいのになぁ!と二人は同意したのでした。
ここまでは良かった(?)のですが、そこでjunnamaさんが一言。
「で、何故それを書かへんの?」
私は、色々言い訳をしましたけれど、ま、それは本当に言い訳でした(汗)。
これは愛を込めて書いたほうがいいなと思いましたので、大変遅まきながら書いてみました!
以上。ちょっとすっきりしたです。
【余談】
最初formが勝手についてくるのにも違和感を感じていたのですが、それは小粋空間yujiroさんの下記のエントリーによって疑問が解消しております。
Movable Type で画像挿入時の form 要素について
http://www.koikikukan.com/archives/2007/09/26-013257.php
(普段は仕事のことはあまりvoxに書きませんが、なんといってもSixApartさんのイベントのことなので、ここに書いてみますね)
2007年8月25日、Movable Type 4 Hack-a-thonという催しに参加してきました。Movable Type開発チームのエンジニア・Brad Choateさんが来日なさるということで、それに合わせてプログラマが一堂に会し、黙々とハックしようぜ!という集まりです。
いやいや、ちょっと待て。あんたはプログラマじゃなくてデザイナーだろ?と思われてしまうのは必至なのですが。
Hack-a-thonのお知らせエントリに、「テンプレートタグを使い倒して思い通りの出力を得たいデザイナの方」も歓迎しますという一行があったものですから、日ごろMovable Typeのテンプレートを覗き込んでうんうん唸ったりMTタグをこねくり回して悦に入ったりしている者として、これは絶対に参加すべきだと感じてしまったのです。ずうずうしくてスミマセン(汗)。
SixApartさんに到着して会場に入ってみると、goyaさんがにこやかに出迎えてくださり、Hack-a-thonのTシャツをくださいました。わーい!嬉しい!
お次は、自分のノートPCを起動しつつ、壁のホワイトボードに本日のお題を記入します。私のお題は、「企業サイトで使いやすいメニューを作る」というもの。Movable Typeのデフォルトテンプレートではできない動作をぜひ実現するぞ、という意気込みです。
一つのテーブルを6人で囲んで作業開始となったのですが、同じテーブルにはcheebowさん、Junnamaさん、藤本さん、purprinさんが!どんだけ豪華な環境ですか、これって!!
とドキドキしつつ、作業開始。
私がやりたかったことの一番目は、「ブログ記事(MT3.x風にいうと個別エントリーアーカイブ)内で、同一カテゴリーに属するエントリ一覧のリストを出力する」ってことです。
これって、MT3.xではMTTagInvokeなどのプラグインを使わないと実現できなかったんですよね。
でもMT4には、MTSetVarBlockとかMTIfなどの新しいタグがあるので、それらを使ってなんとかできるんじゃないの?とか思ったわけです。
ということで書いてみたのが、これ▼
<mt:SetVarBlock name="this_category">
<mt:CategoryLabel />
</mt:SetVarBlock>
<mt:Entries category="$this_category">
<li><a href="<$MTEntryLink$>"><mt:EntryTitle /></a></li>
</mt:Entries>
</ul>
ですが!何度見直しても正しそうなのに、これが上手く動作しないんですよ!
分かんない分かんないと悩みつつ、「教えてちゃん」になるのはダメ!と思っていたので、小一時間悶々と…。
その間に、cheebowさんやjunnamaさんは次々と、「お、できた!」とか軽やかに成果を出していらっしゃるので、ますます、うぅーっと恥ずかしさに苦しんでおりました、私。
このまま今日は何も成果を残せないとまずいよ、自分!と思い、意を決して藤本さんにどこが悪いかを見ていただくことに。
すると藤本さんは優しく、「SetVarBlockのところを改行すると、値に改行も含まれてしまうからだと思うよ」と教えてくださったのでした(感謝!)。
おいおい、そんなレベルでHack-a-thonに参加してんじゃねーよ、という声が聞こえてきそうですがorz ほんっと、ごめんなさい!
で、書き直したものが、これ。これはちゃんと動作しますだよ。
ブログ記事内で、同一カテゴリーに属するエントリ一覧のリストを出力する
次に、これを使って一歩複雑な動作をさせてみたい、と。<mt:SetVarBlock name="this_category"><mt:CategoryLabel /></mt:SetVarBlock>
<mt:Entries category="$this_category">
<li><a href="<$MTEntryLink$>"><mt:EntryTitle /></a></li>
</mt:Entries>
</ul>
求めたイメージはこんな感じ。
1)「お魚」「お肉」「野菜」「果物」というカテゴリが4つある。
2)それぞれのカテゴリ内に、複数のブログ記事がある。
3)「お魚」カテゴリに含まれるブログ記事を見ると、サイドメニューがこうなっている。
■お魚
○いわし
○さんま
■お肉
■野菜
■果物
4)「お肉」に行ったときは、こんな感じ。
■お魚
■お肉
○鶏肉
○牛肉
■野菜
■果物
5)要するに、そのブログ記事が属しているカテゴリーの記事は全部メニューとして開いて見えるけれど、それ以外のカテゴリーは閉じていて記事一覧は見えない。というのを、MTタグだけで自動で何とかしたい。
図々しい私は、この豪華テーブルの皆さまに「こういうのをやりたいんです!」とアピールするする。
特にpurprinさんには色々相談に乗っていただいて、「だからー、いわしエントリを見てるときの、お魚カテゴリのメニューが…」とか「ここの鶏肉と牛肉が」などと、やたら美味しそうな会話を交わしてました(笑)。午前中ちょっとお腹が空いていたので、食べ物の名前のダミー記事を黙々と投稿していたのが、アダとなりましたね(汗)。
皆さんにヒントをいただきつつも、あと一歩のところで煮詰まってしまい、時間切れにて終了…だったのですが。
帰宅後に夫に見てもらいながら、完成できました(多分)!
ブログ記事が属するカテゴリだけ記事一覧を出力し、それ以外はカテゴリ名だけを表示する。
<mt:SetVarBlock name="this_category"><mt:CategoryLabel /></mt:SetVarBlock>
<ul>
<mt:categories>
<mt:SetVarBlock name="label"><mt:CategoryLabel /></mt:SetVarBlock>
<li>
<mt:CategoryLabel />
<mt:if name="this_category" eq="$label">
<ul>
<mt:Entries category="$label">
<li><a href="<$MTEntryLink$>"><mt:EntryTitle /></a></li>
</mt:Entries>
</ul>
</mt:if>
</li>
</mt:categories>
</ul>
各カテゴリ名のリンク先が設定されていなかったりと、諸々不完全ではありますが。骨組みは出来たような気がするので、これをいじってもう少しマシにしちゃるぞ!と思っております。
しかし、MT4には新しいタグがたくさん増えたので、今までプラグインを入れないと実現しなかった動作もタグだけで出来ることが増えましたね!プログラムが書けない私にとっては、可能性が広がったのぅ!と感じました!(もちろん、素晴らしいプラグイン作者の方々の作品を使わせていただいて、MTのパワー一万倍!というのも素敵な素敵なことだと思ってます♪)
17:00からは皆さんの成果発表会で、缶ビール片手にプロジェクタで素晴らしいプラグインの数々を見せていただき、感動しまくり!あぁ、ハッカーって素敵!!と溜息をついていました。
その後は、居酒屋で飲み会!コードをつまみに三杯飲む、ってな感じの濃密な会話に酔いしれ、堪能させていただきましたです。
USのエンジニア、Bradさんとdjchallさんと名刺交換もさせていただいちゃいましたよっ!!思えば、昔コツコツMTをいじっているときに、/extlib/bradchoate/というディレクトリを作成していたよなぁと、非常に感慨深いものがございました。
最後になりましたが、今回のような素敵なイベントを開催してくださったSixApartの皆さまには、本当に感謝しております!!素晴らしいホスピタリティを感じ、幸せな一日を過ごさせていただきました。
また今日からMT4でゴニョゴニョする日々を送ろうと思いますです。