... {toc} В личном кабинете возможна замена шаблонов модулей. Разберем на примере нескольких модулей, как это делать. {warning:title=Warning} Не называйте шаблон так же, как это сделано в стандартном модуле, если у Вас на это нет веской причины\!
|
{warning}
|
{info:title=Ограничения} У некоторых модулей параметр "template" не работает. В таком случае нужно называть шаблон так же, как модуль, чтобы он заменял стандартный.
|
|
Список: * [Authorize|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=50659482#WordPress.%D0%9A%D0%B0%D0%BA%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%22%D0%9B%D0%B8%D1%87%D0%BD%D1%8B%D0%B9%D0%BA%D0%B0%D0%B1%D0%B8%D0%BD%D0%B5%D1%82%22.%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%B2%D0%B5%D0%B1-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8-%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%B2%D0%B5%D0%B1%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8] {info} Так же есть возможность [редактирования модулей|CarbonBilling:Пользовательские модули в cabinet_modules]
|
h4. Замена шаблона страницы обещанных платежей
|
... Если вас не устраивает количество информации об обещанном платеже, то имеется возможность изменить это. На примере разберем, как добавить шаблон, отображающий страницу так: !promisepay.png|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" class="btn btn-primary"> Активировать обещанный платеж. Стоимость активации: <?=$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|border=1! h4. Замена шаблона страницы текущий тариф Стандартная страница выглядит так: !trarif_info_standart.png|border=1! Её код в WordPress: {code} [cabinet_tarif_info] {code} Уберем нижнюю часть с солнышком, луной и молнией. Приводим стандартный шаблон к следующему виду: {code} <table class="table tarif"> <tr class="tarif-header"> <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 class="tarif-head tarif-current"> <h4><?=$data['user_info']->tarif?></h4> <div class="tarif-desc"> <?= $data['admin.tarif'][0]->fields->plan_comment ?> </div> <div class="actions"> <a href="/cabinet/смена_тарифа/" class="btn btn-primary">Поменять тариф</a> </div> </td> <td class="tarif-recommend"> <h4><?=$data['best_tarif']->name?></h4> <div class="tarif-desc"> <?=$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|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. Сумма расхода за месяц Выводит сумму элементов из шорткода [cabinet_current_month_expenses|CarbonBilling:Wordpress. Список шорткодов ЛК.] Код измененного шаблона: {code} <h4>Расход за месяц</h4> <?php if(count($data['expenses']) < 1){ ?> <div class="alert alert-info"> Нет списаний </div> <?php } $summa = 0; foreach ($data['expenses'] as $expense) { $summa += $expense->summ; } echo ca_util()->format_money($summa); {code} Сохраним файл в каталоге пользовательских шаблонов: {code} /app/asr_cabinet/var/cabinet_tmpl/current_month_expenses_summ.php {code} Шорткод страницы: {code} [cabinet_current_month_expenses template='current_month_expenses_summ'] {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} h4. Стандартные пути к файлам Модули располагаются по следующему пути: {panel} /app/asr_cabinet/usr/local/lib/cabinet_modules/modules/ {panel} Шаблоны располагаются здесь: {panel}
|
/app/asr_cabinet/usr/local/lib/cabinet_modules/modules/tpls/ {panel}
|
Так же есть возможность [редактирования модулей|CarbonBilling:Пользовательские модули в cabinet_modules]
|