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

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

В разделе «Документы» создаем папку «Кабинет клиента» с тегом system. Напоминаем, что установка тега system блокирует изменения файла не суперадмином, в противном случае NoDeny не будет загружать шаблоны из данной папки.

В папке «Кабинет клиента» создаем документ «Главная» с тегами:

system
template=main

Здесь main - это имя шаблона без расширения html. Данный шаблон используется на главной странице личного кабинета. Содержимое только что созданного документа заполним следующим текстом:

Здравствуйте, {{usr.fio}}! На вашем счете сейчас {{usr.balance}} грн.
При пополнении через платежную систему указывайте код {{usr.ppc}}

На главной странице доступны такие переменные:

cur_url  : текущий url
usr      : данные абонента
services : подключенные услуги
credits  : активные кредиты

Поля users:

id              : id учетной записи клиента
name            : логин
pass            : пароль
fio             : ФИО
ppc             : платежный код
grp             : номер группы клиента
grp_name        : имя группы
state           : on - доступ открыт, off - закрыт
state_off       : установлен если state равен off
contract        : договор
contract_date   : дата договора (timestamp)
contract_date_as_text : дата договора в виде dd.mm.yyyy
balance         : баланс
balance_without_credits : баланс без кредитов
limit_balance   : граница отключения
block_if_limit  : отключать ли запись при достижении границы отключения
cstate          : техническое состояние (настроить/ремонт/вирусы...) в виде числа
comment         : комментарий
lstate          : нужна авторизация/всегда онлайн
discount        : скидка
traf            : суммарный трафик
traf_in         : суммарный трафик к клиенту
traf_out        : суммарный трафик от клиента
traf1           : трафик в байтах направления 1
...
traf4           : трафик в байтах направления 4
in1             : входящий трафик направления 1
out1            : исходящий трафик направления 1
...
dopdata         : дополнительные данные
services        : подключенные услуги
ips             : ip адреса
full_info       : блок информации об абоненте для администратора
frozen_srv   : количество замороженных услуг

Услуги представлены в виде массива из таких значений:

id             : id в таблице users_services
service_id     : id услуги в таблице services
title          : название услуги
human_time     : врем старта услуги в виде дд.мм.гггг
time_start     : время старта услуги (timestamp)
time_left      : сколько секунд осталось до окончания услуги
frozen         : 1 - услуга заморожена, 0 - нет
price          : стоимость
can_change_srv : 1 - если в плагинах разрешена страница информации об услуге 
change_url     : html-ссылка на страницу информации об услуге 
change_link    : url на страницу информации об услуге
text           : текст "дд.мм.гггг подключена услуга xxxx"
when_end       : сообщение о том, когда заканчивается услуга

Пример шаблона:

<p>Здравствуйте, <b>{{usr.fio}}</b>!</p>

{% if usr.services %}
<p>Просим обратить внимание: наше ОСББ выполняет регулярные работы, которые предусматривают финансирование с вашей стороны.</p>

{% if usr.balance < 0 %}
<p>При этом у вас сформировалась задолженность в размере <b>{{usr.balance}}</b> грн. Просим погасить ее для того, чтобы мы вовремя и качественно выполняли свою работу.</p>
{% endif %}

<p><b>Перечень услуг:</b></p>
<ui>
{% for s in usr.services %}
<li>{{ s.title }}. Стоимость {{ s.price }} грн в месяц</li>
{% endfor %}
</ul>

{% endif %}

Здесь фраза «При этом у вас сформировалась задолженность...» отображается только при отрицательном балансе.

На всех страницах личного кабинета в template::DATA доступны переменные, которые перечислены здесь. Например, :

Рекомендованная сумма платежа: {{ template::DATA.user_info.recommended_pay }} грн
Улица проживания: {{ template::DATA.user_info.dopdata._adr_street.show() }}