Comments.tpl¶
Файл предназначен для вывода списка комментариев, также он содержит форму для постинга.
Пример:
1 <!-- Если массив $comments_arr содержит комментарии, то запускаем цикл -->
2 {if $comments_arr}
3 <!-- Общее количество комментариев -->
4 <h3>{$total_comments}</h3>
5
6 {foreach $comments_arr as $comment}
7 <div id="comment_{$comment.id}">
8 <p>
9 {$comment.user_name}
10 <br />
11 {date('d-m-Y H:i', $comment.date)}
12 </p>
13
14 <p>
15 {$comment.text}
16 </p>
17 </div>
18 {/foreach}
19 {/if}
20
21 <h3>{lang('post_comment')}</h3>
22
23 <!-- Если позволено комментировать только зарегистрированным пользователям, то выводим сообщение с ссылкой на авторизацию -->
24 {if $can_comment === 1 AND !is_logged_in}
25 <p>{sprintf(lang('login_for_comments'), site_url($modules.auth))}</p>
26 {/if}
27
28 <!-- Форма постинга комментария -->
29 <form action="{$modules.comments}/add/" method="post" class="form">
30 <input type="hidden" name="comment_item_id" value="{$item_id}" />
31
32 <!-- Если пользователь авторизирован, выводим сообщение "Вы вошли как ..." -->
33 {if $is_logged_in}
34 <p>{lang('lang_logged_in_as')} {$username}. <a href="{site_url('auth/logout')}">{lang('lang_logout')}</a></p>
35 {else:}
36 <!-- Если пользователь не авторизирован, то выводим поля "Имя" и "Почта" -->
37 {lang('lang_comment_author')}
38 <input type="text" name="comment_author" value="{get_cookie('comment_author')}"/>
39
40 {lang('lang_comment_email')}
41 <input type="text" name="comment_email" value="{get_cookie('comment_email')}"/>
42 {/if}
43
44 {lang('lang_comment_text')}
45 <textarea name="comment_text" rows="10" cols="50"></textarea>
46
47 <!-- Если в настройках указано использовать captcha -->
48 {if $use_captcha}
49 {lang('lang_captcha')}
50 <input type="text" name="captcha" value=""/>
51
52 <!-- HTML код изображения с кодом протекции -->
53 {$cap_image}
54 {/if}
55
56 <input type="submit" value="{lang('lang_comment_button')}" />
57
58 <!-- Для защиты от CSRF атак -->
59 {form_csrf()}
60 </form>
Переменные массива {$comments}¶
- id - ID комментария
- user_id - ID пользователя
- user_name - Имя пользователя
- user_mail - E-mail пользователя
- item_id - ID страницы
- text - Текст комментария
- date - Дата публикации комментария
- status - Статус комментария (0 - Одобрен, 1 - Ждет проверки, 2 - Спам)
- agent - Строка содержащая веб-браузера
- user_ip - IP адрес пользователя
Полезные ссылки¶
- Комментарии - управление комментариями в административной части
- page_full.tpl - отображение вывода полного текста объекта содержимого.