Изменение страниц личного кабинета

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку

В разделе «Документы» создаем папку «Кабинет клиента» с тегом 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>