Просмотр Исходного

В личном кабинете возможна замена шаблонов модулей.

Разберем на примере нескольких модулей, как это делать.

{warning:title=Warning}
Не называйте шаблон так же, как это сделано в стандартном модуле, если у Вас на это нет веской причины!
{warning}


h4. Замена шаблона страницы обещанных платежей

Если вас не устраивает количество информации об обещанном платеже, то имеется возможность изменить это.

На примере разберем, как добавить шаблон, отображающий страницу так:

!promisepay.png|thumbnail,border=1!
Это делается с помощью следующего шаблона:


{code}
<style>
    .promise_pay {
        margin-top: 10px;
        margin-bottom: 10px;
    }
</style>
<?if(count($data['promise_pays']) < 1) {?>
    <div>
        Обещанный платеж для вашего тарифа недоступен
    </div>
<?}?>

<? foreach($data['promise_pays'] as $promise_pay){?>
    <div>
        <form action="" method="post">
                <?$this->module_token()?>
                <label>Наименование: <?=$promise_pay->name?></label><br />
                <label>Обещанный платеж на сумму <?=$promise_pay->promise_summ?>.</label><br />
                <?if ($promise_pay->summa > 0) {?>
                <label>Стоимость подключения услуги: <?=$promise_pay->summa?></label><br/>
                <?}?>
                <button type="submit" value="<?=$promise_pay->id?>" name="add_promise_pay">
                Активировать обещанный платеж. Стоимость активации: <?=$promise_pay->activate_pay?>
                </button>
                <br />
        </form>
    </div>
<?}
{code}
Переменная _$data\['promise_pays'\]_ содержит все доступные пользователю обещанные платежи.


Пользовательские шаблоны необходимо сохранять в каталоге:



{code}
/app/asr_cabinet/var/cabinet_tmpl/
{code}
Например, этот файл шаблона называется _PromisePay_Detailed.php_ и тогда полный путь к нему будет:


{code}
/app/asr_cabinet/var/cabinet_tmpl/PromisePay_Detailed.php
{code}
Для включения его в личном кабинете на странице обещанного платежа строку:

{code}
[cabinet_promise_pay]
{code}
необходимо заменить на:


{code}
[cabinet_promise_pay template="PromisePay_Detailed"]
{code}
Иллюстрация:
!promisepay_detailed.png|thumbnail,border=1!

h4. Замена шаблона страницы текущий тариф

Стандартная страница выглядит так:


!trarif_info_standart.png|thumbnail,border=1!

Её код в WordPress:

{code}
[cabinet_tarif_info]
{code}
Уберем нижнюю часть с солнышком, луной и молнией.
Приводим стандартный шаблон к следующему виду:

{code}
<table>
    <tr>
        <td>Услуга</td>
        <td colspan="">Ваш тариф</td>
        <td>
            <span><a href="">Рекомендуем</a></span>
            <span><a href="">Популярные</a></span>
        </td>
    </tr>
    <!--  Current tarif info  -->
    <tr>
        <td></td>
        <td>
            <h4><?=$data['user_info']->tarif?></h4>

            <div>
                <?= $data['admin.tarif'][0]->fields->plan_comment ?>
            </div>
            <div>
                <a href="/cabinet/смена_тарифа/">Поменять тариф</a>
            </div>
        </td>
        <td>
            <h4><?=$data['best_tarif']->name?></h4>

            <div>
                <?=$data['best_tarif']->plan_comment?>
            </div>
        </td>
    </tr>
</table>
{code}
И сохраняем на сервере:


{code}
/app/asr_cabinet/var/cabinet_tmpl/my_tarif_info.php
{code}
После этого в WordPress меняем шорткод модуля на:


{code}
[cabinet_tarif_info template="my_tarif_info"]
{code}
После этого страница будет выглядеть так:
!tarif_info_new.png|thumbnail,border=1!


h4. Замена шаблона страницы заявки на подключение

Создадим шаблон *my_tpl_connection.php* , в котором нет поля почта, но используется капча
{code}
<?php
/**
* Created by PhpStorm.
* User: alexander
* Date: 19.03.15
* Time: 14:29
*/
$legend = strlen($this->options['form_header']) > 0 ? $this->options['form_header'] : false;
$messages=new \carbon\modules\Message();
echo $messages->getHtml();
?>

<div class="col-xs-15">
<div class="clearfix">
<form action="" class="form-horizontal" method="post">
<?$this->module_token()?>
<fieldset>
<?if($legend){?>
<!-- Form Name -->
<legend><?=$legend?></legend>
<?}?>

<!-- Text input-->
<div class="form-group">
<label class="col-xs-7 control-label" for="street">Улица</label>
<div class="col-xs-7">
<input id="street" value="<?php echo $_GET['street_val']?>" name="street" type="text" placeholder="Например, Ленина" class="form-control input-md">

</div>
</div>

<!-- Text input-->
<div class="form-group">
<label class="col-xs-7 control-label" for="house_n">Номер дома</label>
<div class="col-xs-7">
<input id="house_n" name="house_n" value="<?php echo $_GET['home_num_val']?>" type="text" placeholder="Например, 1" class="form-control input-md">

</div>
</div>

<!-- Text input-->
<div class="form-group">
<label class="col-xs-7 control-label" for="korpus">Корпус</label>
<div class="col-xs-7">
<input id="korpus" name="korpus" type="text" value="<?php echo $_GET['home_liter_val']?>" placeholder="Например, Б" class="form-control input-md">
</div>
</div>

<!-- Text input-->
<div class="form-group">
<label class="col-xs-7 control-label" for="contact_name">Контактное лицо</label>
<div class="col-xs-7">
<input id="contact_name" name="contact_name" type="text" placeholder="Иван Иванович Иванов" class="form-control input-md">

</div>
</div>

<!-- Prepended text-->
<div class="form-group">
<label class="col-xs-7 control-label" for="phone_number">Номер телефона</label>
<div class="col-xs-7">
<div class="input-group">
<span class="input-group-addon">+7</span>
<input id="phone_number" name="phone_number" class="form-control" placeholder="1234567890" type="text">
</div>

</div>
</div>

<!-- Text input-->
<div class="form-group">
<label class="col-xs-7 control-label" for="captcha">Капча</label>
<div class="col-xs-7">
<img src="/wp-content/themes/carbonsoft/library/captcha.php" id="captcha" width="150px"
alt="Введите сюда текст с картинки в поле ниже" title="Введите сюда текст с картинки в поле ниже" />
<!-- CHANGE TEXT LINK -->
<a href="#" onclick="
document.getElementById('captcha').src='/wp-content/themes/carbonsoft/library/captcha.php?'+Math.random();
document.getElementById('captcha-form').focus();" id="change-image">
Сложно? Сменить текст!
</a>
<input id="captcha-form" name="captcha" type="text" autocomplete="off" placeholder="Введите сюда текст с картинки" class="form-control input-md" >
</div>
</div>

<!-- Button -->
<div class="form-group">
<label class="col-xs-7 control-label" for="submit"></label>
<div class="col-xs-7">
<button id="submit" name="submit" class="btn btn-primary">Отправить</button>
</div>
</div>

</fieldset>
</form>
</div>
</div>
{code}

Сохраним файл в каталоге пользовательских шаблонов:
{code}
/app/asr_cabinet/var/cabinet_tmpl/my_tpl_connection.php
{code}

И изменим шорткод страницы с формой заявки:
{code}
[cabinet_apply_for_connection captcha=1 template='my_tpl_connection']
{code}


h4. Замена шаблона страницы смены номера SMS-информирования

Добавим на форму ввода номера ограничение по маске, чтобы можно было вводить номера типа "+9 (999) 999-99-99"


Скачать шаблон:
[^PhoneForm.php]

Выгружаем его в каталог шаблонов, путь будет:
{code}
/app/asr_cabinet/var/cabinet_tmpl/PhoneForm.php
{code}

И на странице смены номера для оповещений меняем шорткод на:
{code}
[cabinet_set_user_info sms='Номер для SMS-Информирования' template='PhoneForm']
{code}