Пример добавления пунктов в ЛК редиректящих на url
Материал из BiTel WiKi
Реализация дин.веб-экшена, который перекидывает на разные урлы. Для добавления как пункты веб-меню. Например, для создания ссылок на платёжные системы:
* Оплата Банковской картой - https://c.cloudpayments.ru/xxx/ * Оплата через Сбербанк Онлайн - https://online.sberbank.ru/
Дин.код такой:
package ru.xxx; import static ru.bitel.bgbilling.common.bean.BGBaseConstants.REQUEST_ATTR_CONTENT_TYPE; import java.io.IOException; import bitel.billing.server.ActionResultContentType; import ru.bitel.bgbilling.common.BGException; import ru.bitel.bgbilling.kernel.container.web.action.AbstractAction; public class ActionWebMenuRedirect extends AbstractAction { public void cloudpayments() throws BGException { forward("https://c.cloudpayments.ru/xxx/"); } public void sbol() throws BGException { forward("https://online.sberbank.ru/"); } private void forward(String url) throws BGException { try { context.getRequest().setAttribute( REQUEST_ATTR_CONTENT_TYPE, ActionResultContentType.binary ); context.getResponse().sendRedirect( url ); } catch( IOException e ) { throw new BGException( e ); } } }
Настройка конфига сервера, для создания нового [дин.]экшена:
dynaction:ru.xxx.web.ActionWebMenuRedirect=ru.xxx.ActionWebMenuRedirect
Для справки: переход срабатывает на такие ссылки итоговые:
* http://.../bgbilling/webexecuter?action=WebMenuRedirect&mid=0&module=ru.telenet&operation=cloudpayments * http://.../bgbilling/webexecuter?action=WebMenuRedirect&mid=0&module=ru.telenet&operation=sbol
В итоге настройки двух пунктов веб-меню:
1)
action: WebMenuRedirect&operation=cloudpayments
moduleId: 0
moduleName: ru.xxx
moduleTitle: ?
title: Оплата Банковской картой
2)
action: WebMenuRedirect&operation=sbol
moduleId: 0
moduleName: ru.xxx
moduleTitle: ?
title: Оплата через Сбербанк Онлайн
Веб-меню добавить так: добавляете любой пункт, потом правите параметры action итд. Не забывайте, что веб-меню либо надо повесить на нужный договор явно (в договоре в клиенте отдельная вкладка), либо назначить это меню "по умолчанию" (настройка в веб-меню уже), чтобы он везде был и у всех.