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

xsl шаблон дилеров
http://forum.bitel.ru/viewtopic.php?f=8&t=7551
Страница 1 из 3

Автор:  Sputnik [ 20 дек 2012, 14:40 ]
Заголовок сообщения:  xsl шаблон дилеров

Всем привет!
Хочу вставить в "Проведение платежа" в шаблоне диллеров (idealer.xsl) отображение одного из параметров(список) который есть в "параметре договоров".
Идея в принципе примерно ясна, чтото типа такого

Код:
<xsl:value-of select="parameters/parameter[@pid=22]/@value"/>


только кажется что я путь не правильно указываю, тк это поле не отображаеться.
Подскажите плиз кто знает путь или может я не правильно пытаюсь сделать?

Автор:  focus [ 20 дек 2012, 14:50 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Код:
data/parameters/parameter[@pid=22]/@value

Автор:  Sputnik [ 21 дек 2012, 11:24 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

не подходит
по коду
Код:
<xsl:value-of select="data/parameters/parameter[@pid=22]/@value"/>
все еще пусто :(

Автор:  focus [ 21 дек 2012, 11:44 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

А можно на XML взглянуть?
Тогда понятно будет какой путь писать.

Автор:  Cromeshnic [ 21 дек 2012, 11:46 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

А так:
Код:
<xsl:value-of select="/data/parameters/parameter[@pid=22]/@value"/>

?

Автор:  Sputnik [ 21 дек 2012, 12:12 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

focus писал(а):
А можно на XML взглянуть?
Тогда понятно будет какой путь писать.

XML? тебе файл выложить чтоль?

Cromeshnic писал(а):
А так:
Код:
<xsl:value-of select="/data/parameters/parameter[@pid=22]/@value"/>

?

так тоже нет

Автор:  focus [ 21 дек 2012, 14:02 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

да. может просто в нем этих параметров нет?
Клиенсткие данные можете удалить от туда.

Автор:  Sputnik [ 21 дек 2012, 14:52 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

файлик во вложении
Я хочу добавить свой пункт в
Код:
<xsl:template name="Contract">
после коментариев

Вложения:
idealer.txt [18.22 КБ]
Скачиваний: 738

Автор:  focus [ 21 дек 2012, 14:56 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Не сам шаблон XSL. А XML с данными.
Шаблон у меня есть, я его посмотрел. Вот чтобы правильно написать путь до параметра (если она там есть), нужен XML с данными.

Автор:  Sputnik [ 21 дек 2012, 16:42 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Немного не догоняю :?:
Единственный XML который относиться к модулю это card.xml
Все используется стандартное, нового ничего не дописываю
Или ты о каком нибудь конкретном XML файле говоришь?
Ткни пальцем плиз :roll:

Автор:  focus [ 24 дек 2012, 06:55 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

вот тут дополнительно как работает формирование печатной формы документа на основании XSLT http://www.bgbilling.ru/v5.2/doc/ch01s18s14s01.html
Боюсь, что в случае с карточками, XML с данными не получить относительно просто.

Автор:  Sputnik [ 24 дек 2012, 11:45 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

focus писал(а):
вот тут дополнительно как работает формирование печатной формы документа на основании XSLT http://www.bgbilling.ru/v5.2/doc/ch01s18s14s01.html
Боюсь, что в случае с карточками, XML с данными не получить относительно просто.


Этим вариантом мы как раз пользовались создавая карточки автоматического заполнения договоров с абонентами и другие бланки где нужны были данные с договора. И там мы просто редактировали xsl файлы.
Тут в принципе идея такая же. Но не получается сделать :?:

Товарищи разработчики может вы ответите как поступить в этой ситуации?

Автор:  skn [ 15 янв 2013, 17:17 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

нужно получить запрос который оправляется серверу при формирование нужной вам страницы, скопировать этот запрос в строку браузера дописав в конец строки &ct=xml в результате получитете xml документ который используется совместно с xsl шаблоном для формирования конечной страницы, все данные которые есть в этом xml можно вытащить на страницу, все остальное только дополнительными sql запросами в xsl шаблоне

Автор:  Sputnik [ 16 янв 2013, 09:08 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Как получить запрос? :roll:

Автор:  skn [ 16 янв 2013, 11:14 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

например в файрфоксе в режиме отладке или через расширение firebag ну или в логах сервера биллинга

Автор:  Sputnik [ 16 янв 2013, 14:52 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Чтото вроде такого?

Код:
http://serverIP:port/bgbilling/idealer?1358325637119=&action=PaymentAdd&cid=4384&comment=&mid=3&pt=20&summ=1&trans=1358325610063&ct=xml


Вставлял в браузер

получил чтото вроде этого:

Код:
<?xml version="1.0" encoding="windows-1251"?>
<data status="ok"><payments><payment cid="4384" comment="1358325610063" contract="123456" contract_comment="ТЕСТ" date="16.01.2013 14.32.11" id="1140" status="1" summ="1.00" trans="1358325610063"/></payments><contract balance="162.09" comment="ТЕСТ" firm_id="" id="4384" title="123456"><tariffs show="1"/></contract></data>


Это то или нет?

Автор:  dimOn [ 16 янв 2013, 16:22 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

ну да, это ответ xml-кой на запрос

Автор:  Sputnik [ 16 янв 2013, 16:52 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Собственно данных для того чтобы вытащить не много:(
Значит всетаки sql запрос?

Автор:  skn [ 16 янв 2013, 17:57 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

да

Автор:  Sputnik [ 17 янв 2013, 09:19 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Не подскажешь какой запрос, куда его вставить?
Или нужно обращение в хелпдеск?

Автор:  focus [ 17 янв 2013, 09:41 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Приветствую.
В <xsl:stylesheet> добавляем расширение xmlns:sql="bitel.billing.server.util.exslt.SQLQuery"
Должно выглядеть примерно так
Код:
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
...
   xmlns:sql="bitel.billing.server.util.exslt.SQLQuery"
...
>


После можем в xsl использовать это расширение для выполнения запросов к БД.
Примерно так
Код:
<xsl:variable name="query">select comment from contract where id=<xsl:value-of select="$mycid"/></xsl:variable>
<xsl:variable name="contracts" select="sql:select( $query )"/>
<!-- Перебираем ответ-->
<xsl:for-each select="$contracts/row">
<fo:block><xsl:value-of select="@comment"/></fo:block>
</xsl:for-each>


Подобная тема на форуме
viewtopic.php?f=14&p=52575#p52575

Автор:  focus [ 17 янв 2013, 09:42 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Статья на wiki
http://wiki.bgbilling.ru/index.php/XSLT

Автор:  Sputnik [ 17 янв 2013, 15:53 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Чтото у меня с запросом не выходит.
Вернее с его синтаксисом

Код:
<xsl:variable name="query">select title from contract_parameter_type_7_log where cid=<xsl:value-of select="$mycid"/> && pid=30 </xsl:variable>
<xsl:variable name="sog" select="sql:select( $query )"/>

Перестает реагировать окно дилера платежей

И нужно ли мне перебирать ответ если результат должен быть только один и еще к тому же последний изменившийся?

Код:
      <!-- Перебираем ответ -->
<xsl:for-each select="$sog/row">
<fo:block><xsl:value-of select="@title"/></fo:block>
</xsl:for-each>

Автор:  skn [ 17 янв 2013, 16:57 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

а почему contract_parameter_type_7_log, а не contract_parameter_type_7 ???
и что такое $mycid

Автор:  focus [ 17 янв 2013, 16:57 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Попробуй не перебирать.
Скажи а переменная $mycid объявлена?
Как-то так

Код:
<xsl:variable name="mycid" select="/data/paymets/payment/@cid"/>.

Автор:  Sputnik [ 17 янв 2013, 17:35 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

skn писал(а):
а почему contract_parameter_type_7_log, а не contract_parameter_type_7 ???
и что такое $mycid


Мне нужно значение поля title этой таблицы в котором и находится текстовое знаечение того что я хочу вытащить на страницу

focus писал(а):
Попробуй не перебирать.
Скажи а переменная $mycid объявлена?
Как-то так

Код:
<xsl:variable name="mycid" select="/data/paymets/payment/@cid"/>.


объявил

Код:
<xsl:variable name="mycid" select="contract/@id" />


с этим разобрался.
теперь теряется на кнопке выбрать.
Код:
<xsl:variable name="contracts" select="sql:select( $query )"/>

кнопка нажимается а окна провода платежей нет :(

Автор:  focus [ 17 янв 2013, 17:39 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

путь до @id должен быть /data/contract/@id
в
<xsl:variable name="mycid" select="contract/@id" />
в server.out посмотри ошибку какую-нибудь пишет?

Автор:  Sputnik [ 18 янв 2013, 09:53 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

В server.out только вот это
Код:
18.01.2013 9:37:11 org.apache.tomcat.util.http.Parameters processParameters
WARNING: Parameters: Invalid chunk ignored.


А как можно проверить результат запроса? Получила ли переменная результат запроса?

Автор:  focus [ 18 янв 2013, 12:26 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

Попробуйте запрос к mysql выполнить.
Что насчет
focus писал(а):
путь до @id должен быть /data/contract/@id
в
<xsl:variable name="mycid" select="contract/@id" />
в server.out посмотри ошибку какую-нибудь пишет?

Автор:  Sputnik [ 18 янв 2013, 14:10 ]
Заголовок сообщения:  Re: xsl шаблон дилеров

focus писал(а):
Попробуйте запрос к mysql выполнить.

Запрос выдается правильно. То есть значение которое мне нужно, он находит.

focus писал(а):
путь до @id должен быть /data/contract/@id
в
<xsl:variable name="mycid" select="contract/@id" />
в server.out посмотри ошибку какую-нибудь пишет?

Путь ввел он выдает правильный cid договора. Проверял.

Как только вписываю эту строчку
Код:
<xsl:variable name="contracts" select="sql:select( $query )"/>

то в server.out появляется вот это
Код:
18.01.2013 13:40:31 org.apache.tomcat.util.http.Parameters processParameters
WARNING: Parameters: Invalid chunk ignored.

Других записей там нет.
и кнопка выбора договора перестает реагировать :(

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