アルファサード株式会社 代表取締役 野田 純生のブログ


mt:Blogs(mt:Websites)で id順に並べたい


公開日 : 2016-02-03 14:54:05


sort_by sort_order 指定してみたんだけど、効かない。

  • MT::Template::Tags::Blog::_hdlr_blogs

ハードコーディングされてるんだから。。。

$args{'sort'} = 'name';
$args{direction} = 'ascend';
my @blogs = MT::Blog->load( \%terms, \%args );

こういうところを何とかして欲しいものです。

<mt:Websites>
<mt:WebsiteId setvar="website_id">
<mt:SetHashVars name="website_data">
    name=<mt:WebsiteName>
    url=<mt:WebsiteURL>
</mt:SetHashVars>
<mt:SetHashVar name="websites">
    <mt:SetVar name="$website_id" value="$website_data">
</mt:SetHashVar>
</mt:Websites>
<mt:Loop name="websites" sort_by="key" >
    blog_id : <mt:Var name="__key__">
    blog_name : <mt:Var name="__value__" key="name">
    blog_url : <mt:Var name="__value__" key="url">
</mt:Loop>

追記 : blog_id が10超えるときは 別途並び順用の変数にキーのみ入れて MTLoop sort_by="value numeric" というツッコミが入りました。誰か修正版やっといて。。

追記: GetHashVarプラグインを使うか ObjectLoop プラグインを使えば素直に解決できる

<mt:LoopWithSort name="websites" kind="num" scope="key" order="ascend">
</mt:LoopWithSort>

<mt:ObjectLoop model="website" sort_by="id" sort_order="ascend">
</mt:ObjectLoop>
カテゴリ


このブログを書いている人
野田純生の写真
野田 純生 (のだ すみお)

大阪府出身。ウェブアクセシビリティエバンジェリスト。 アルファサード株式会社の創業者であり、現役のプログラマ。経営理念は「テクノロジーによって顧客とパートナーに寄り添い、ウェブを良くする」。 プロフィール詳細へ