【freo】【freoTips】【プラグイン系TIPS】テンプレートを変えるだけでリンクをカテゴリーごとに表示する方法
- 2014/01/04 02:38
- バナー付きリンクプラグイン
- 61
当サイトで配布しているバナー付きリンクプラグインのリンクをカテゴリーごとに表示する方法です。
バナー付きリンクプラグインでは、カテゴリーをつけることができます。
これを使って、リンクを分類することができます。
デフォルトのままだとカテゴリーがごちゃ混ぜで表示されてしまうので、カテゴリーごとに表示してみます。
[freo/templates/plugins/link/default.html]をエディタで開きます。
28~78行目を変更します。
デフォルトではこうなってます↓
<table id="link">
~中略~
</tbody>
</table>
これを、下記のように変更します。
<!--{foreach from=$plugin_link_categories|smarty:nodefaults item='plugin_link_category' name='loop'}--> <h3><a href="{$freo.core.http_file}/link?category_id={$plugin_link_category.id}">{$plugin_link_category.name}</a></h3> <table id="link"> <thead> <tr> <th>サイト名</th> <th>バナー</th> <th>コメント</th> <th>タグ</th> </tr> </thead> <tfoot> <tr> <th>サイト名</th> <th>バナー</th> <th>コメント</th> <th>タグ</th> </tr> </tfoot> <tbody> <!--{foreach from=$plugin_links|smarty:nodefaults item='plugin_link'}--> <!--{if $plugin_link_category.id == $plugin_link.category_id}--> <tr> <td><!--{if $plugin_link.url}--><a href="{$plugin_link.url}" target="_blank">{$plugin_link.title}</a><!--{else}-->{$plugin_link.title}<!--{/if}--></td> <td> <!--{if $plugin_link_files[$plugin_link.id].file}--> <img src="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}plugins/link_files/{$plugin_link.id}/{$plugin_link_files[$plugin_link.id].file}" alt="{$plugin_link.title}" /> <!--{elseif $plugin_link.imageurl}--> <img src="{$plugin_link.imageurl}" alt="{$plugin_link.title}" /> <!--{/if}--> </td> <td>{$plugin_link.text}</td> <td> <!--{foreach from=$plugin_link_tags[$plugin_link.id]|smarty:nodefaults item='plugin_link_tag' name='loop'}--> <a href="{$freo.core.http_file}/link?tag={$plugin_link_tag|smarty:nodefaults|escape:'url'}">{$plugin_link_tag}</a><!--{if !$smarty.foreach.loop.last}-->, <!--{/if}--> <!--{/foreach}--> </td> </tr> <!--{/if}--> <!--{/foreach}--> </tbody> </table> <!--{/foreach}-->
つまりはこんな感じです↓
<!--{リンクカテゴリーの繰り返しここから}-->
<h3><a href="{$freo.core.http_file}/link?category_id={リンクカテゴリーID}">{リンクカテゴリー名}</a></h3>
<table id="link">
<thead>
<tr>
~中略~
</tr>
</thead>
<tfoot>
<tr>
~中略~
</tr>
</tfoot>
<tbody>
<!--{リンクの繰り返しここから}-->
<!--{もし今繰り返しているカテゴリーIDと今繰り返しているリンクのカテゴリーIDが等しければここから}-->
~中略~
<!--{もし今繰り返しているカテゴリーIDと今繰り返しているリンクのカテゴリーIDが等しければここまで}-->
<!--{リンクの繰り返しここまで}-->
</tbody>
</table>
<!--{リンクカテゴリーの繰り返しここまで}-->
ちなみに、ページやデフォルト画面に表示したい場合も、↑のソースを利用できます。
さくら
ミツさま
こんばんは。先日はアルバムプラグインの件でお世話になりました。
連続して何度も質問させていただくことになり大変恐縮なのですが、分からないことがありまたしてもご教授頂けますと幸いです。
こちらのバナー付きリンクを利用させていただこうとしているのですが、カテゴリー別ページ(link?category_id=◯◯)を表示すると
>>カテゴリー「Array.name」の検索結果は以下のとおりです。
という風にカテゴリー名が「Array.name」になってしまいます。
私側の問題だと思うのですが、いかんせんどこを修正したら良いのかも分かりません。
雑な質問で申し訳ないのですが、もしこのエラーを見て分かることがございましたら教えていただけますと嬉しいです。
また、この「テンプレートを変えるだけでリンクをカテゴリーごとに表示する方法」を使って、ページやデフォルト画面のサイドバー(Utility部分)に特定のカテゴリー(またはタグ)のリンクのみ表示させたいなと思っています。
ループさせる設定の時にifでカテゴリー(またはタグ)を絞ればいいのかなと思いましたが、すいません、構文の書き方が分かりませんでした…
素人すぎて恥ずかしくなるのですが、もし良かったらお教え頂けますと嬉しいです。
度々下らない質問を申し訳ありません。