はじめに
PowerCMS
記事IDをカンマ区切りで入力し、その記事を一覧に出力する方法。
入力フィールド
出力させたい記事のIDをカンマ区切りで入力。
記事IDとは?
記事IDは6ケタの数字から成り、URLから確認することができます。
(※ちなみにブログIDは4ケタの数字)
上の添付画像だと、記事IDは「155975」になります。
コード
入力されたIDを持つ記事を一覧に表示させます。
<ul class="article-list">
<MTIfExtFieldType type="text" label="記事ID">
<$MTExtFieldText label="記事ID" setvar="article_ids"$>
</MTIfExtFieldType>
<mt:splitvars text="$article_ids">
<MTEntries id="$value">
<li class="article-item">
<a href="<$MTEntryPermalink$>">
<p class="title"><$MTEntryTitle$></p>
</a>
</li>
</MTEntries>
</mt:splitvars>
</ul>
タグの説明
<MTIfExtFieldType type="text" label="記事ID">
<$MTExtFieldText label="記事ID" setvar="article_ids"$>
</MTIfExtFieldType>
入力欄「記事ID」に入力された値を、変数「artcle_ids」に代入する。
<mt:splitvars text="$article_ids">
MTSplitVars:text モディファイアで指定した文字列(記事ID)を、delimiter モディファイアで指定した文字列(:(コロン)など)で分割し、変数 valueにセットしてループ出力を行う。
ただしdelimiter モディファイアの初期値はカンマ区切りなので、今回は指定しない。
(入力フィールドでカンマ区切りにIDを入植しているため)
textモディファイアには文字列ではなく変数を入れることができる。
今回は「$article_ids」としました。
<MTEntries id="$value">
splitvarsで分割された値(記事ID)が変数valueにセットされる。
MTEntries:ブログの記事の一覧のためのブロックタグ。
モディファイアを指定することで、記事の並び替えや特定の記事だけを表示させることが可能。
idモディファイアに記事IDを入力すると、該当記事が出力される。
今回はループされているため、「id」に155246、155965、155972、155973、155974が順番に入る。
注意点
<mt:splitvars text="$related_ids">
★ textモディファイアに変数を代入する場合、変数名の前に「$」をつける。
★ 変数名にハイフン(-)は使用できないので注意!
OK:article_ids
NG:artcle-ids