WEBサイト作成時に発生するエラーやトラブル対応の備忘録を中心に、いろいろと書いております。


picoで、カテゴリー内のコンテンツが開いているときだけ、そのカテゴリーのメニューを出す。

つまり、たとえば

カテゴリーA
  ├ コンテンツA
  ├ コンテンツB
  └ コンテンツC

カテゴリーB
  ├ コンテンツ1
  ├ コンテンツ2
  └ コンテンツ3

という風に、コンテンツをいれるとき、「メニュー」をブロックに表示していると、全部展開した状態で表示されちゃうんだけども、「コンテンツA」を表示しているときは

カテゴリーA
  ├ コンテンツA
  ├ コンテンツB
  └ コンテンツC

カテゴリーB

という風に、カテゴリーAのコンテンツのみ展開。カテゴリーBは閉じておく(もしくは消しておく)ということがしたいのです。

これに関しては

PICOで表示コンテンツのカテゴリーのみコンテンツリスト表示 (@Xoops Users Group Japan)にて回答がありました。

つまり・・・・・・

jidaikobo さんのお答え block_menu.html に

<{foreach item=category from=$block.categories}>
<dl>
<dt style=”margin:5px 0 0;padding:3px;background-color:#eee;”>
<a href=”<{$block.mod_url}>/<{$category.link}>”>
<{$category.title}>
</a>
</dt>
<{assign var=”content_in_array” value=FALSE}>
<{foreach item=content from=$category.contents}>
<{if $content.link == “index.php?content_id=`$smarty.get.content_id`” || $category.id == $smarty.get.cat_id}>
<{assign var=”content_in_array” value=TRUE}>
<{/if}>
<{/foreach}>
<{if $content_in_array == “TRUE”}>
<dd style=”margin:0;”><ul>
<{foreach item=content from=$category.contents}>
<li style=”margin:0;background-color:#fff;”><a href=”<{$block.mod_url}>/<{$content.link}>” title=”<{$block.lang_lastupdated}>:<{$content.created_time_formatted}>”><{$content.subject}></a></li>
<{/foreach}>
</ul></dd>
<{/if}>
</dl>
<{/foreach}>

とあります。

ただし、1.7系で使えるそうです。 ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください