Страница тикеты
Предназначена для отображения списка обращений пользователя.
Стандарт именования: tickets.php
Создание тикета
На странице обязательно должна быть форма создания нового тикета, которая включает в себя:
Обязательные поля |
---|
Тема обращения (subject) |
Текст обращения (text) |
А также кнопку "Отправить" (submit)
Форму отправляем методом "post" на обработчик action="/handlers/users/new_ticket.php" Перед отправкой обязательно необходима инициализация формы функцией form_init()
Если во время создания отзыва возникает ошибка, будет произведен редирект на эту страницу. Ошибка будет выведена на месте функции flash_show('new_ticket').
Пример кода
- new_ticket.php
<form method="post" action="/handlers/user/new_ticket.php"> <?php echo form_init(); ?> <?php echo flash_show('new_ticket'); ?> <?php echo T('Введите тему обращения:'); ?> <input type="text" name="subject" required placeholder="<?php echo T('Введите тему'); ?>"> <?php echo T('Введите текст обращения'); ?> <textarea name="text" placeholder=" <?php echo T('Опишите вашу проблему подробнее...'); ?>" required></textarea> <input type="submit" name="support_add_appeal" value="<?php echo T('Отправить'); ?>"> </form>
История обращений
Также на странице располагается История обращений пользователя. История обращений выводится функцией support_get_appeal_list().
- tickets_history.php
<table> <tr> <th><?php echo T('Дата'); ?></th> <th><?php echo T('Тема'); ?></th> <th><?php echo T('Статус'); ?></th> </tr> <?php $list = support_get_appeal_list($login); if ($list) { foreach ($list as $row) { ?> <tr> <td><?php echo bm_date($row['date']); ?></td> <td> <a href="/user/ticket_id/?id=<?php echo $row['id']; ?>"><?php echo escape($row['subject']); ?></a> </td> <td> <?php echo support_status($row['status']); ?> </td> </tr> <?php } ?> <?php } else { ?> <tr> <td colspan="3"> <?php echo T('Записей не обнаружено'); ?> </td> </tr> <?php } ?> </table>
Тикет
Форма ответа,переписка с администратором отображаются на отдельной странице.
Стандарт именования: ticket_id.php
На странице обязательно должна быть форма ответа, которая включает в себя:
Обязательные поля |
---|
Текст ответа (text) |
Скрытое поле (id обращения) |
А также кнопку "Отправить" (submit)
Форму отправляем методом "post" на обработчик action="/handlers/users/send_answer_ticker.php" Перед отправкой обязательно необходима инициализация формы функцией form_init()
Если во время ответа на обращение возникает ошибка, будет произведен редирект на эту страницу. Ошибка будет выведена на месте функции flash_show('send_answer_ticker').
Пример кода
- send_answer_ticker.php
<form method="post" action="/handlers/user/send_answer_ticker.php"> <?php echo form_init(); ?> <?php echo flash_show('send_answer_ticker'); ?> <?php echo T('Ответ'); ?> <textarea placeholder="<?php echo T('Поле для ввода ответа...'); ?>" name="text"></textarea> <input type="submit" name="support_add_message" value="<?php echo T('Отправить'); ?>"> <input type="hidden" value="<?php echo (int)$appeal['id']; ?>" name="id"> </form>
Переписка
Переписка с администрацией выводится функцией support_get_messages_list()
- ticket_id.php
<?php $appeal = support_get_appeal_by_id(get('id')); ?> <div> <?php foreach (support_get_messages_list($appeal['id']) as $row) { ?> <b> <?php if ($login === $row['login']) { ?> <a>You</a> <?php } else { ?> <a>Support</a> <?php } ?> </b> :: <?php echo bm_date($row['date']); ?> <p> <?php echo escape($row['text']); ?> </p> <hr /> <?php } ?> </div>
Переменные и функции
Функции: form_init(), flash_show(), T(), escape(), support_get_appeal_list(), bm_date(), support_status(), support_get_messages_list()
Переменные: $login,