【freo】【freoTips】【プラグイン系TIPS】ボード・レスポンスの投稿者情報をユーザー情報と連携させる方法
- 2014/12/20 16:35
- ボードプラグイン
- レスポンスプラグイン
- ユーザー
- 60
ボード・レスポンスを投稿する時、「投稿者名」「メールアドレス」「URL」を登録することができます。
また、その他、各記事・レスポンスにはfreoログイン時の「ユーザーID」が登録されるようになっています。
デフォルトの(なにも変更していない)状態だと、投稿者名・メールアドレス・URLを、投稿者は自由に挿入できます。
この記事のように編集を加えると、投稿者名・メールアドレス・URLをユーザーが登録した情報と連携させることができます。
連携した時のメリット
- 記事投稿者はわざわざ名前などの情報を入力する手間がない
- ユーザー情報を変更すると名前などの情報が自動的に最新の情報に更新されて表示される
- ユーザーでない投稿者は名前・メールアドレス・URLを任意に入力できる。
連携した時のデメリット
- 各記事ごとに名前・メールアドレス・URLを変更することができない。
連携する方法
- I'll be NET様で公開されているユーザー情報表示プラグインを導入する。
- [freo/templates/plugins/board/default.html]の30行目、
[freo/templates/plugins/board/admin.html]の83行目を下記のように変更する。
<td><!--{if $plugin_board.name}-->{$plugin_board.name}<!--{else}-->{$plugin_user_alls.[$plugin_board.user_id].name}<!--{/if}--></td>
- [freo/templates/plugins/board/view.html]の11~15行目を下記のように変更する。
<ul class="link"> <li>投稿者:<!--{if $plugin_board.name}-->{$plugin_board.name}<!--{else}-->{$plugin_user_alls.[$plugin_board.user_id].name}<!--{/if}--></li> <!--{if $plugin_board.mail}--><li><a href="mailto:{$plugin_board.mail}">MAIL</a></li><!--{elseif $plugin_board.user_id}--><li><a href="mailto:{$plugin_user_alls[$plugin_board.user_id].mail}">MAIL</a></li><!--{/if}--> <!--{if $plugin_board.url}--><li><a href="mailto:{$plugin_board.mail}">MAIL</a></li><!--{elseif $plugin_user_alls[$plugin_board.user_id].url}--><li><a href="$plugin_user_alls[$plugin_board.user_id].url">URL</a></li><!--{/if}--> </ul>
<ul class="link"> <!--{if $plugin_response.mail}--><li><a href="mailto:{$plugin_response.mail}">MAIL</a></li><!--{elseif $plugin_response.user_id}--><li><a href="mailto:{$plugin_user_alls[$plugin_response.user_id].mail}">MAIL</a></li><!--{/if}--> <!--{if $plugin_response.url}--><li><a href="{$plugin_response.url}">URL</a></li><!--{elseif $plugin_user_alls[$plugin_response.user_id].url}--><li><a href="$plugin_user_alls[$plugin_response.user_id].url">URL</a></li><!--{/if}--> <!--{if $freo.user.authority == 'root' or $freo.user.authority == 'author'}--><li><a href="{$freo.core.http_file}/response/admin_form?id={$plugin_response.id}">編集</a></li><!--{elseif $freo.user.id and $freo.user.id == $plugin_response.user_id}--><li><a href="{$freo.core.http_file}/response/form?id={$plugin_response.id}&board_id={$plugin_board.id}#response_form">編集</a></li><!--{/if}--> </ul>
- [freo/templates/plugins/board/form.html]の22~29行目、
[freo/templates/plugins/board/admin_form.html]の22~29行目を下記のように変更する。
<dt>タイトル</dt> <dd><input type="text" name="plugin_board[title]" size="50" value="{$input.plugin_board.title}{$smarty.get.title}" /></dd> <!--{if !$freo.user.id}--> <dt>名前</dt> <dd><input type="text" name="plugin_board[name]" size="50" value="{$input.plugin_board.name}{$smarty.get.name}" /></dd> <dt>メールアドレス</dt> <dd><input type="text" name="plugin_board[mail]" size="50" value="{$input.plugin_board.mail}{$smarty.get.mail}" /></dd> <dt>URL</dt> <dd><input type="text" name="plugin_board[url]" size="50" value="{$input.plugin_board.url}{$smarty.get.url}" /></dd> <!--{/if}-->
- 上記テンプレートを上書きしてアップロードする。