Изменение страниц личного кабинета: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
Немає опису редагування
Немає опису редагування
Рядок 34: Рядок 34:
При пополнении через платежную систему указывайте код {{usr.ppc}}
При пополнении через платежную систему указывайте код {{usr.ppc}}
</pre>
</pre>
На главной странице в переменной 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>&nbsp;</td>                <td>&nbsp;</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>&nbsp;</td>                <td>&nbsp;</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>&nbsp;</td>                <td>&nbsp;</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>&nbsp;</td>              <td>&nbsp;</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>

Версія за 10:12, 26 березня 2019

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

{% if dopdata._adr_street %}

{% endif %} {% if dopdata._adr_house %}

{% endif %}

       {% for pay in pays %}
       {% endfor %}
Платеж
Id Шаблон:Pay.id
Сумма Шаблон:Pay.amount
Сумма без минуса (если платеж - снятие)Шаблон:Pay.abs amount
Категория Шаблон:Pay.category
Описание категории Шаблон:Pay.category desc
Комментарий Шаблон:Pay.comment
Дата Шаблон:Pay.date
Кто создал платеж Шаблон:Pay.creator
ip создателя Шаблон:Pay.ip
id создателя Шаблон:Pay.creator id
   
Данные клиента
Id клиента Шаблон:Id
Платежный код Шаблон:Ppc
Логин Шаблон:Name
ФИО Шаблон:Fio
Номер группы Шаблон:Grp
Имя группы Шаблон:Grp name
Договор Шаблон:Contract
Доступ {% if state_off %} Заблокирован {% else %} Включен {% endif %}
Баланс Шаблон:Balance
Граница отключения Шаблон:Limit balance
Авторизация {% if lstate %} Выключена {% else %} Включена {% endif %}
   
Улица Шаблон:Dopdata. adr street.show()
Дом Шаблон:Dopdata. adr house.show()
   
Платежи
Шаблон:Pay.date Шаблон:Pay.cash $
   
Входящий трафик, Мб Шаблон:Traf in
Исходящий трафик, Мб Шаблон:Traf out
Услуги {% for service in services %}
       {% endfor %}
Имя Шаблон:Service.title
Pay id Шаблон:Service.pay id