Изменение страниц личного кабинета
В разделе «Документы» создаем папку «Кабинет клиента» с тегом system. Напоминаем, что установка тега system блокирует изменения файла не суперадмином, в противном случае NoDeny не будет загружать шаблоны из данной папки.
В папке «Кабинет клиента» создаем документ «Главная» с тегами:
system template=main
Здесь main - это имя шаблона без расширения html. Данный шаблон используется на главной странице личного кабинета. Содержимое только что созданного документа заполним следующим текстом:
{{ lang::fullusers_fields_name.name }}: {{ usr.name }}<br> {{ lang::fullusers_fields_name.fio }}: {{ usr.fio }}
Теперь, если открыть главную страницу кабинета клиента, то мы увидим две строки, в первой будет отображаться логин, во второй - ФИО.
Обратите внимание, lang::fullusers_fields_name.name берется из языкового файла /usr/local/nodeny/web/lang/RU.pl. Кроме этого файла еще используется /usr/local/nodeny/web/lang/RU_user.pl - в нем находятся языковые переменные для конкретного модуля личного кабинета. В частности, для модуля главной страницы (main) смотрите переменную $main в этом файле. Например, там есть ключ:
balance_is => 'Остаток на счете',
Давайте изменим документ «Главная» чтобы он отображал текущий баланс:
{{ lang.balance_is }}: {{usr.balance}}
Вы, конечно, можете сформировать шаблон без учета локализации, например:
Здравствуйте, {{usr.fio}}! На вашем счете сейчас {{usr.balance}} грн. При пополнении через платежную систему указывайте код {{usr.ppc}}
На главной странице в переменной usr нам доступны такие поля:
<table class='tbl'> <tr> <td colspan='2' style='text-align:center'>Платеж</td> </tr> <tr> <td>Id </td> <td>{{pay.id}}</td> </tr> <tr> <td>Сумма</td> <td>{{pay.amount}}</td> </tr> <tr> <td>Сумма без минуса (если платеж - снятие)</td><td>{{pay.abs_amount}}</td></tr> <tr> <td>Категория</td> <td>{{pay.category}}</td> </tr> <tr> <td>Описание категории</td> <td>{{pay.category_desc}}</td> </tr> <tr> <td>Комментарий</td> <td>{{pay.comment}}</td> </tr> <tr> <td>Дата</td> <td>{{pay.date}}</td> </tr> <tr> <td>Кто создал платеж</td> <td>{{pay.creator}}</td> </tr> <tr> <td>ip создателя</td> <td>{{pay.ip}}</td> </tr> <tr> <td>id создателя</td> <td>{{pay.creator_id}}</td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td colspan='2' style='text-align:center'>Данные клиента</td> </tr> <tr> <td>Id клиента</td> <td>{{id}}</td> </tr> <tr> <td>Платежный код</td> <td>{{ppc}}</td> </tr> <tr> <td>Логин</td> <td>{{name|safe}}</td> </tr> <tr> <td>ФИО</td> <td>{{fio|safe}}</td> </tr> <tr> <td>Номер группы</td> <td>{{grp}}</td> </tr> <tr> <td>Имя группы</td> <td>{{grp_name|safe}}</td> </tr> <tr> <td>Договор</td> <td>{{contract|safe}}</td> </tr> <tr> <td>Доступ</td> <td>{% if state_off %} Заблокирован {% else %} Включен {% endif %}</td> </tr> <tr> <td>Баланс</td> <td>{{balance}}</td> </tr> <tr> <td>Граница отключения</td> <td>{{limit_balance}} </td> </tr> <tr> <td>Авторизация</td> <td>{% if lstate %} Выключена {% else %} Включена {% endif %}</td> </tr> <tr> <td> </td> <td> </td> </tr> {% if dopdata._adr_street %} <tr> <td>Улица</td> <td>{{ dopdata._adr_street.show() }}</td> </tr> {% endif %} {% if dopdata._adr_house %} <tr> <td>Дом</td> <td>{{ dopdata._adr_house.show() }}</td> </tr> {% endif %} <tr> <td> </td> <td> </td> </tr> <tr> <td>Платежи</td> <td></td> </tr> {% for pay in pays %} <tr> <td>{{pay.date}}</td> <td>{{pay.cash}} $</td> </tr> {% endfor %} <tr> <td> </td> <td> </td> </tr> <tr> <td>Входящий трафик, Мб</td> <td>{{traf_in}}</td> </tr> <tr> <td>Исходящий трафик, Мб</td> <td>{{traf_out}}</td> </tr> <tr> <td>Услуги</td> <td> <table class='tbl'> {% for service in services %} <tr> <td>Имя</td> <td>{{service.title}}</td> </tr> <tr> <td>Pay id</td> <td>{{service.pay_id}}</td> </tr> {% endfor %} </table> </td> </tr> </table>