forum.bitel.ru
http://forum.bitel.ru/

Запрос название тарифа + баланс
http://forum.bitel.ru/viewtopic.php?f=22&t=9865
Страница 1 из 1

Автор:  tj.anton [ 26 окт 2014, 15:19 ]
Заголовок сообщения:  Запрос название тарифа + баланс

Всем привет! Ребят нужна помощь, меняю вообщем стиль кабинета, и вопрос у меня такой,

вот вывод название контракта получилось сделать, вот таким образом

Код:
<xsl:for-each select="/data/super_contract">
<xsl:value-of select="@title"/>
</xsl:for-each>


все с этим работает все безупречно, на всех страницах биллинга.

Дальше сделал вывод, баланса, вот так

Код:
<xsl:for-each select="/data/balance">
<xsl:value-of select="@summa5"/>
</xsl:for-each>


Баланс выводит, все хорошо, но почему то не на всех страницах, может нужен какой-то полный путь в for-each select ??

А вот вывод тарифа, тайна покрыта мраком, как его вывести?

Спасибо.

Автор:  Artur [ 26 окт 2014, 16:25 ]
Заголовок сообщения:  Re: Запрос название тарифа + баланс

Попробуйте к запросу в браузере добавить опцию
ct=xml
и посмотреть какую xml выгружает сервер биллинга в каждом случае. В соответствии с этим правьте свой код.

Автор:  dimOn [ 26 окт 2014, 20:03 ]
Заголовок сообщения:  Re: Запрос название тарифа + баланс

... и при этом не забудьте, что половина страниц в вебе формируется на jsp, т.е. совсем другим методом, к которому ни xsl ни xml ни ct=xml не имеет никакого отношения.

Автор:  tj.anton [ 26 окт 2014, 20:54 ]
Заголовок сообщения:  Re: Запрос название тарифа + баланс

Artur писал(а):
Попробуйте к запросу в браузере добавить опцию
ct=xml
и посмотреть какую xml выгружает сервер биллинга в каждом случае. В соответствии с этим правьте свой код.


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


Код:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://127.0.0.1:80/bgbilling/xsl/main.xsl"?>
<data action="ShowBalance" balance_mode="0"
    comment="Иванов Петр Сидорович" contract="mycontract" fc="0" id="1"
    mid="contract" module="contract" notificationsCount="0" status=""
    title="mycontract" year="2014">
    <menu>
        <item action="ContractService" mid="4" module="rscm" title="Разовые начисления"/>
        <item action="SessionReport" mid="1" module="inet" title="Отчет по сессиям Inet"/>
        <item action="TrafficReport" mid="1" module="inet" title="Отчет по трафикам Inet"/>
        <item action="ChangeLoginPassword" mid="1" module="inet" title="Смена пароля на логины Inet"/>
    </menu>
    <date month="10" year="2014"/>
    <balance limit="0.00" summa1="0.00" summa2="183.00" summa3="1.00"
        summa4="50.00" summa5="132.00">
        <accounts>
            <account title="Подключение" value="1.00"/>
        </accounts>
        <payments>
            <payment title="20.10.2014 Платеж из кассы" value="183.00"/>
        </payments>
        <charges>
            <charge title="20.10.2014 asd" value="50.00"/>
        </charges>
    </balance>
    <super_contract balance_mode="0" comment="Иванов Петр Сидорович"
        contract="mycontract" fc="0" id="1" title="mycontract"/>
</data>



Код:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://127.0.0.1:80/bgbilling/xsl/main.xsl"?>
<data action="ChangeTariff" balance_mode="0"
    comment="Иванов Петр Сидорович" contract="mycontract" fc="0" id="1"
    mid="contract" module="contract" notificationsCount="0" step="0"
    title="mycontract" to_tariff="-1" to_tariff_title="" year="2014">
    <menu>
        <item action="ContractService" mid="4" module="rscm" title="Разовые начисления"/>
        <item action="SessionReport" mid="1" module="inet" title="Отчет по сессиям Inet"/>
        <item action="TrafficReport" mid="1" module="inet" title="Отчет по трафикам Inet"/>
        <item action="ChangeLoginPassword" mid="1" module="inet" title="Смена пароля на логины Inet"/>
    </menu>
    <history>
        <row active="0" canCancel="0" comment="" contractTariffId="2"
            date1="01.10.2014" date2="19.10.2014"
            tariff="New tariff plan 2" tariffId="2" type="0"/>
        <row active="1" canCancel="0" comment="" contractTariffId="1"
            date1="20.10.2014" date2="" group="1"
            tariff="New tariff plan" tariffId="1" type="0">
            <tariff_list>
                <item id="2" title="New tariff plan 2"/>
            </tariff_list>
            <date_list/>
        </row>
    </history>
    <super_contract balance_mode="0" comment="Иванов Петр Сидорович"
        contract="mycontract" fc="0" id="1" title="mycontract"/>
</data>

Автор:  dimOn [ 26 окт 2014, 22:02 ]
Заголовок сообщения:  Re: Запрос название тарифа + баланс

Цитата:
почему не отображается на всех страницах баланс, а только на странице баланса
вы же сами выложили xml другой страницы, в которой видно, что никаких данных о балансе там нет, потому и не отображается и всякий там полный путь не поможет.

Автор:  tj.anton [ 26 окт 2014, 22:11 ]
Заголовок сообщения:  Re: Запрос название тарифа + баланс

dimOn писал(а):
Цитата:
почему не отображается на всех страницах баланс, а только на странице баланса
вы же сами выложили xml другой страницы, в которой видно, что никаких данных о балансе там нет, потому и не отображается и всякий там полный путь не поможет.


Что значит другой страницы? Подскажите где взять правильную страницу

Баланс смотрю - "Просмотр баланса"
Тариф смотрю - "Смена тарифных планов"

Больше насколько я понимаю НИГДЕ не выводиться ни тариф, ни баланс.

Автор:  dimOn [ 26 окт 2014, 22:19 ]
Заголовок сообщения:  Re: Запрос название тарифа + баланс

Цитата:
Что значит другой страницы? Подскажите где взять правильную страницу

вы сделали ct=xml на странице смены тарифа же:
Цитата:
<data action="ChangeTariff" balance_mode="0"

вы видите в этой xml по xpath "/data/balance" баланс? Я не вижу. Потому он и не отображается.

Автор:  dimOn [ 26 окт 2014, 22:21 ]
Заголовок сообщения:  Re: Запрос название тарифа + баланс

Цитата:
Больше насколько я понимаю НИГДЕ не выводиться ни тариф, ни баланс.
ну да, правильно понимаете. никто просто не формирует эти данные в выходную xml вот и всё.
у вас версия то какая? в какой-то новой версии баланс сделан отдельным виджетом там как-то и работает на всех страницах, кажется.

Автор:  tj.anton [ 26 окт 2014, 22:22 ]
Заголовок сообщения:  Re: Запрос название тарифа + баланс

dimOn писал(а):
Цитата:
Что значит другой страницы? Подскажите где взять правильную страницу

Цитата:
<data action="ChangeTariff" balance_mode="0"

вы видите в этой xml по xpath "/data/balance" баланс? Я не вижу. Потому он и не отображается.


ОК, что делать то?

Автор:  dimOn [ 26 окт 2014, 22:30 ]
Заголовок сообщения:  Re: Запрос название тарифа + баланс

tj.anton писал(а):
dimOn писал(а):
Цитата:
Что значит другой страницы? Подскажите где взять правильную страницу

Цитата:
<data action="ChangeTariff" balance_mode="0"

вы видите в этой xml по xpath "/data/balance" баланс? Я не вижу. Потому он и не отображается.


ОК, что делать то?

честно говоря, не знаю даже как в данном случае сделать правильнее. могу предложить пару вариантов:
1. теоретически можно перегрузить дин.кодом все нужные web-экшены и там надобавлять нужные данные в xml выходную. способ вполне реализуемый, тока надо не забыть какой набор нужен экшенов и не забыть, что некоторые из них не генерят xml а работают только с jsp. причём это всё от версий сильно зависит и в следующей почти гарантированно это всё изменится.
2. написать нужный экшен (и на дин.коде можно запросто сделать его), который будет отдавать тариф, баланс и всё остальное, и на странице его асинхронно подгружать и выводить в нужное место яваскриптом. мне этот способ кажется логичнее и проще в дальнейшей поддержке.

Автор:  Amir [ 27 окт 2014, 16:54 ]
Заголовок сообщения:  Re: Запрос название тарифа + баланс

Через AJAX+JSON. К URL запроса страницы баланса добавляем &ct=json. Вызываем через jQuery.get(), вытаскиваем из json-объекта нужное значение, подставляем через javascript в нужный div/span.
Пример, но посложнее: http://wiki.bitel.ru/index.php/Отображение_пакетов_трафика_на_странице_Тарифные_опции_личного_кабинета

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/