|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (30)
просмотр истории страницы| Использование кастомного модуля для личного кабинета, работающего в пространстве имен _carbon\modules_. Таким образом можно изменять стандартные модули carbon или создавать собственные. |
| {toc} |
| |
| h4. Тестирование |
| В личном кабинете есть возможность изменять стандартные модули, а также создавать свои. Модули работают в пространстве имён _carbon\modules_. |
| |
| Модуль необходимо разместить в рабочем каталоге: {code}/app/asr_cabinet/usr/local/lib/cabinet_modules{code} |
| h3. Как работают модули в ЛК? |
| |
| h4. Выпуск |
| Модули располагаются в рабочем каталоге: {code} /app/asr_cabinet/usr/local/lib/cabinet_modules/modules/ {code} Так же есть каталог хранения: {code} /app/asr_cabinet/var/cabinet_modules/ {code} При обновлении биллинга происходит копирование файлов из каталога хранения в рабочий каталог. Одноимённые файлы из каталога хранения затирают более старые в рабочем каталоге. Например, более свежий файл Payment.php из каталога хранения перепишет более старый файл Payment.php из рабочего каталога. {code:title=Будет скопирован в рабочий каталог} ls -l /app/asr_cabinet/var/cabinet_modules/Payment.php -rw-r--r-- 1 root root 126174 Июл 18 09:56 /app/asr_cabinet/var/cabinet_modules/Payment.php {code} {code:title=Будет переписан} ls -l /app/asr_cabinet/usr/local/lib/cabinet_modules/modules/Payment.php -rw-r--r-- 1 root root 126016 Фев 6 08:33 /app/asr_cabinet/usr/local/lib/cabinet_modules/modules/Payment.php {code} |
| |
| Когда модуль будет готов, его необходимо скопировать в каталог хранения: {code}/app/asr_cabinet/var/cabinet_modules/{code} |
| h3. Как создать свой модуль? |
| |
| Это сделано для того, чтобы он не исчезал после обновления биллинга. |
| # Разместите модуль в рабочем каталоге, при этом он сразу будет доступен в личном кабинете. {code} /app/asr_cabinet/usr/local/lib/cabinet_modules/modules/ {code} # Когда модуль будет готов, скопируйте его в каталог хранения: {code} /app/asr_cabinet/var/cabinet_modules/ {code} Так пользовательский модуль не исчезнет во время обновления, а также попадёт в резервную копию личного кабинета. |
| |
| {color:#ff0000}{*}Внимание\!*{color} Файлы из каталога хранения затирают файлы более старые файлы в рабочем каталоге (для того, чтобы можно было заменять стандартные модули) |
| {note} Если в модуле будет ошибка, то полностью перестанет работать личный кабинет. Вы можете установить [сервер Billing Slave|http://docs.carbonsoft.ru/x/NQYFAw] и проводить разработку модулей на нём, чтобы не мешать работе абонентов. {note} |
| |
| Это значит, что если в каталоге хранения будет находиться файл, не являющийся модулем, может перестать работать личный кабинет. |
| h3. Примеры |
| |
| h4. Примеры |
| Необходимо заменить описание для автоплатежей Paymaster. |
| |
| h5. Задача. Необходимо заменить описание для авто платежей Paymaster. |
| # Перейдём в контейнер личного кабинета |
| {code} chroot /app/asr_cabinet/ |
| {code} |
| # Cкопируем стандартный модуль, все изменения будут происходить в новом файле. |
| {code} |
| cp -p /usr/local/lib/cabinet_modules/modules/AutopayPayment.php /usr/local/lib/cabinet_modules/modules/AutopayPaymentPaymaster.php {code} |
| # Найдём блок с нужным кодом и внесём необходимые изменения |
| {code} # находим блок public function processPOST_paymaster($POST) |
... |
| 'LMI_PAYMENT_METHOD' => 'BankCard' ); |
| # сохраняем изменения |
| {code} |
| |
| # Копируем новый модуль в каталог /app/asr_cabinet/var/cabinet_modules/ хранения |
| {code} cp -p /usr/local/lib/cabinet_modules/modules/AutopayPaymentPaymaster.php /var/cabinet_modules/AutopayPaymentPaymaster.php {code} |
| В личном кабинете для вызова этого модуля будет использоваться следующий код |
| # В личном кабинете для вызова этого модуля будет использоваться следующий [шорткод|Wordpress. Список шорткодов ЛК.] |
| {code} [cabinet_autopay_payment_paymaster operator="paymaster"] {code} |
| h3. Отладка Ошибки работы веб сервера личного кабинета пишутся в следующий файл. По ним можно быстро понять о причине проблемы. {code} /app/asr_cabinet/var/log/httpd/error_log {code} Отладку модуля можно провести по [статье|Отладка модулей кабинета]. |
