« CHEEBOWのしおり(2006-03-01) | メイン | OSを作っちゃう本 »

2006年3月 2日

ALPSLABで遊んでみた、再び

map="0" と map="1" は地図を表示するかしないかの違いだと推測されている方もいらっしゃるようですが、実はこれ、トラックバックするかしないかの違いなんです。

これは、もしかして僕のことかなーというわけで、「ヒビノアワ: ALPSLABで遊んでみた」これの続き。
でも、やっぱり、map="x" でトラックバックの制御をするってのはちょっと気持ち悪い気がします。

トラックバックはエントリーを構築する際に送られますが、すべてのテンプレートでトラックバックを送ってしまうとテンプレートの数だけトラックバックが送られてしまうので、エントリーアーカイブでのみトラックバックを送るように設定していただいています。

もしそうなら、

MT::Template::Context->add_global_filter(map => 
    sub {
        my ($s, $a, $c) = @_;
        my $tb = $c->{'current_archive_type'} eq 'Individual';
        if ($a == 1) {
            $s =~ s/\[map:([^\[\]]+)\]/&map_tag($1,0,$c)/ge;
            $s =~ s/\[map_tb:([^\[\]]+)\]/&map_tag($1,$tb,$c)/ge;
        } else {
            $s =~ s/\[(map|map_tb):([^\[\]]+)\]//g;
        }
        $s;
    }
);

ってしちゃったらどうでしょう。
個別エントリの時だけ、トラックバックするようになると思うのだけど。
map="x"はあくまでも地図(の表示)をtrueにするかfalseにするかのために使いたいなーと思ったりするのです。

特定のテンプレートで地図を表示しないようにするには、そのテンプレートで map="0" を書かないようにしてください。

これは、確かにその通りなのですが……。
これだと、本来地図を表示するためだけに記入するmap書式が、コンテンツとして表示されちゃうんですよね。
もちろん、それはそれでいいじゃん、って話もあると思いますが。
なので、もう一段、map書式を表示非表示する方法も必要だと思うのです。

追記
とか書いたら、さっそく取り込んでもらえたみたい。
うれしいー。ありがとうです>中の人

投稿者 CHEEBOW : 2006年3月 2日 13:45 このエントリーを含むはてなブックマーク

[ Movable Type ]
【お知らせ】音楽に関することはこちらのブログで書いています。くじら音楽部::BLOG