【freo】【freoTips】【プラグイン系TIPS】エントリータグクラウド表示プラグイン使用時にタグにclassを付与する方法
- 2013/04/28 04:14
- エントリータグクラウド表示プラグイン
- エントリー
- 60
freo公式で配布しているエントリータグクラウド表示プラグインを使用すると、エントリーに登録されているタグを一覧表示することができます。
一覧表示されたタグに、classをつけてみる方法を解説します。
エントリーをタグ検索したときに検索中のタグにclassを付与する方法
freo公式サイトで紹介されているエントリータグクラウド表示プラグインのテンプレートを編集します。
<h3>タグクラウド</h3>
<div class="content">
<ul class="tagcloud">
<!--{foreach from=$plugin_entry_tagclouds|smarty:nodefaults item='plugin_entry_tagcloud'}-->
<li><a href="{$freo.core.http_file}/entry?tag={$plugin_entry_tagcloud.tag|smarty:nodefaults|escape:'url'}" style="font-size:{$plugin_entry_tagcloud.size}%;">{$plugin_entry_tagcloud.tag}</a>{$plugin_entry_tagcloud.count}</li>
<!--{/foreach}-->
</ul>
</div>
<div class="content">
<ul class="tagcloud">
<!--{foreach from=$plugin_entry_tagclouds|smarty:nodefaults item='plugin_entry_tagcloud'}-->
<li><a href="{$freo.core.http_file}/entry?tag={$plugin_entry_tagcloud.tag|smarty:nodefaults|escape:'url'}" style="font-size:{$plugin_entry_tagcloud.size}%;">{$plugin_entry_tagcloud.tag}</a>{$plugin_entry_tagcloud.count}</li>
<!--{/foreach}-->
</ul>
</div>
これを、下記のように変更します。
<h3>タグクラウド</h3> <div class="content"> <ul class="tagcloud"> <!--{foreach from=$plugin_entry_tagclouds|smarty:nodefaults item='plugin_entry_tagcloud'}--> <li><a href="{$freo.core.http_file}/entry?tag={$plugin_entry_tagcloud.tag|smarty:nodefaults|escape:'url'}" style="font-size:{$plugin_entry_tagcloud.size}%;"><!--{if $smarty.get.tag == $plugin_entry_tagcloud.tag}--><span class="current">{$plugin_entry_tagcloud.tag}</span><!--{else}-->{$plugin_entry_tagcloud.tag}<!--{/if}--></a>{$plugin_entry_tagcloud.count}</li> <!--{/foreach}--> </ul> </div>
解説
<h3>タグクラウド</h3> <div class="content"> <ul class="tagcloud"> <!--{エントリーに登録されているタグたち=タグクラウドのタグから一個ずつタグをplugin_entry_tagcloudとして繰り返して表示するここから}--> <li><a href="{freo設置URL}/entry?tag={plugin_entry_tagcloudのタグ}" style="font-size:{plugin_entry_tagcloudのサイズ}%;"><!--{もし検索しているタグがplugin_entry_tagcloudのタグと同じだったらここから}--><span class="current">{plugin_entry_tagcloudのタグ}</span><!--{そうじゃなければ}-->{plugin_entry_tagcloudのタグ}<!--{もし検索しているタグがplugin_entry_tagcloudのタグと同じだったらここまで}--></a>{plugin_entry_tagcloudの登録数}</li> <!--{エントリーに登録されているタグたち=タグクラウドのタグから一個ずつタグをplugin_entry_tagcloudとして繰り返して表示するここまで}--> </ul> </div>
エントリーを個別に表示しているときにそのエントリーに登録されているタグにclassを付与する方法
エントリーを個別に表示している(freo/index.php/view/エントリーID)時に、そのエントリーに登録されているタグにクラスを付与します。
freo公式サイトで紹介されているエントリータグクラウド表示プラグインのテンプレートを編集します。
<h3>タグクラウド</h3> <div class="content"> <ul class="tagcloud"> <!--{foreach from=$plugin_entry_tagclouds|smarty:nodefaults item='plugin_entry_tagcloud'}--> <li><a href="{$freo.core.http_file}/entry?tag={$plugin_entry_tagcloud.tag|smarty:nodefaults|escape:'url'}" style="font-size:{$plugin_entry_tagcloud.size}%;"><!--{foreach from=$entry_tags|smarty:nodefaults item='entry_tag' name='loop'}--><!--{if $plugin_entry_tagcloud.tag == $entry_tag}--><span class="current"><!--{/if}--><!--{/foreach}-->{$plugin_entry_tagcloud.tag}<!--{foreach from=$entry_tags|smarty:nodefaults item='entry_tag' name='loop'}--><!--{if $plugin_entry_tagcloud.tag == $entry_tag}--></span><!--{/if}--><!--{/foreach}--></a>{$plugin_entry_tagcloud.count}</li> <!--{/foreach}--> </ul> </div>
解説
<h3>タグクラウド</h3> <div class="content"> <ul class="tagcloud"> <!--{エントリーに登録されているタグたち=タグクラウドのタグから一個ずつタグをplugin_entry_tagcloudとして繰り返して表示するここから}--> <li><a href="{freo設置URL}/entry?tag={plugin_entry_tagcloudのタグ}" style="font-size:{plugin_entry_tagcloudのサイズ}%;"><!--{エントリー記事に登録されているタグをentry_tagとして繰り返して表示するここから}--><!--{もしplugin_entry_tagcloudのタグとentry_tagのタグが同じだったらここから}--><span class="current"><!--{もしplugin_entry_tagcloudのタグとentry_tagのタグが同じだったらここまで}--><!--{エントリーに登録されているタグたち=タグクラウドのタグから一個ずつタグをplugin_entry_tagcloudとして繰り返して表示するここまで}-->{plugin_entry_tagcloudのタグ}<!--{もしplugin_entry_tagcloudのタグとentry_tagのタグが同じだったらここから}--></span><!--{もしplugin_entry_tagcloudのタグとentry_tagのタグが同じだったらここまで}--><!--{エントリーに登録されているタグたち=タグクラウドのタグから一個ずつタグをplugin_entry_tagcloudとして繰り返して表示するここまで}--></a>{$plugin_entry_tagcloud.count}</li> <!--{/foreach}--> </ul> </div>
エントリーをタグ検索したときに検索中のタグにclassを付与しエントリーを個別に表示しているときにそのエントリーに登録されているタグにもclassを付与する方法
上記のどちらも実装したい贅沢なあなたは下記のソースをご利用下さい。
<h3>タグクラウド</h3> <div class="content"> <ul class="tagcloud"> <!--{foreach from=$plugin_entry_tagclouds|smarty:nodefaults item='plugin_entry_tagcloud'}--> <li><a href="{$freo.core.http_file}/entry?tag={$plugin_entry_tagcloud.tag|smarty:nodefaults|escape:'url'}" style="font-size:{$plugin_entry_tagcloud.size}%;"><!--{if $smarty.get.tag == $plugin_entry_tagcloud.tag}--><span class="current"><!--{else}--><!--{foreach from=$entry_tags|smarty:nodefaults item='entry_tag' name='loop'}--><!--{if $plugin_entry_tagcloud.tag == $entry_tag}--><span class="current"><!--{/if}--><!--{/foreach}--><!--{/if}-->{$plugin_entry_tagcloud.tag}<!--{if $smarty.get.tag == $plugin_entry_tagcloud.tag}--></span><!--{else}--><!--{foreach from=$entry_tags|smarty:nodefaults item='entry_tag' name='loop'}--><!--{if $plugin_entry_tagcloud.tag == $entry_tag}--></span><!--{/if}--><!--{/foreach}--><!--{/if}--></a>{$plugin_entry_tagcloud.count}</li> <!--{/foreach}--> </ul> </div>
解説
<h3>タグクラウド</h3> <div class="content"> <ul class="tagcloud"> <!--{エントリーに登録されているタグたち=タグクラウドのタグから一個ずつタグをplugin_entry_tagcloudとして繰り返して表示するここから}--> <li><a href="{freo設置URL}/entry?tag={plugin_entry_tagcloudのタグ}" style="font-size:{plugin_entry_tagcloudのサイズ}%;"><!--{もし検索しているタグがplugin_entry_tagcloudのタグと同じだったらここから}--><span class="current"><!--{そうじゃなければ}--><!--{エントリーに登録されているタグたち=タグクラウドのタグから一個ずつタグをplugin_entry_tagcloudとして繰り返して表示するここから}--><!--{もしplugin_entry_tagcloudのタグとentry_tagのタグが同じだったらここから}--><span class="current"><!--{もしplugin_entry_tagcloudのタグとentry_tagのタグが同じだったらここまで}--><!--{エントリーに登録されているタグたち=タグクラウドのタグから一個ずつタグをplugin_entry_tagcloudとして繰り返して表示するここまで}--><!--{もし検索しているタグがplugin_entry_tagcloudのタグと同じだったらここまで}-->{plugin_entry_tagcloudのタグ}<!--{もし検索しているタグがplugin_entry_tagcloudのタグと同じだったらここから}--></span><!--{そうじゃなければ}--><!--{エントリーに登録されているタグたち=タグクラウドのタグから一個ずつタグをplugin_entry_tagcloudとして繰り返して表示するここから}--><!--{もしplugin_entry_tagcloudのタグとentry_tagのタグが同じだったらここから}--></span><!--{もしplugin_entry_tagcloudのタグとentry_tagのタグが同じだったらここまで}--><!--{エントリーに登録されているタグたち=タグクラウドのタグから一個ずつタグをplugin_entry_tagcloudとして繰り返して表示するここまで}--><!--{もし検索しているタグがplugin_entry_tagcloudのタグと同じだったらここまで}--></a>{$plugin_entry_tagcloud.count}</li> <!--{エントリーに登録されているタグたち=タグクラウドのタグから一個ずつタグをplugin_entry_tagcloudとして繰り返して表示するここまで}--> </ul> </div>