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

Как в карту регистрации вывести тарифные планы
http://forum.bitel.ru/viewtopic.php?f=22&t=1370
Страница 1 из 1

Автор:  CyCJIeHok [ 18 авг 2008, 07:40 ]
Заголовок сообщения:  Как в карту регистрации вывести тарифные планы

Собственно как?
есть команда в шаблонах
<xsl:variable name="tariff_plan" select="contract/@tariff_plan" />
после этого мы можем выводить tariff_plan и видеть наименование тарифного плана. Но есть один нюанс - выводится только 1 тариф. Как вывести два и более тарифных планов?

Автор:  CyCJIeHok [ 19 авг 2008, 10:12 ]
Заголовок сообщения: 

up

Автор:  snark [ 21 авг 2008, 20:23 ]
Заголовок сообщения:  Re: Как в карту регистрации вывести тарифные планы

CyCJIeHok писал(а):
Как вывести два и более тарифных планов?

смотрите в сторону xsl:for-each

Автор:  S [ 27 авг 2008, 20:20 ]
Заголовок сообщения: 

Я немного расширю запрос, детальнее опишу проблему. Есть шаблон contractcard.1=card_inet.xsl:Карта регистрации. Он стандартный. На его основе попытались выстроить свои собственные документы. Но возникла потребность сделать выборку по ТП, например:
Код:
Абонент ФИО, ТП по локальной сети <Выборка из ТП на договоре>, в Интернет <Выборка из ТП на договоре>.

Саму выборку ясно как организовать. Вопрос в другом: card_inet.xsl имеет более-менее уловимую структуру, но не понятно как организовать <Выборку из ТП на договор>.
Например, код card_inet.xsl (просто хочу понять):
Код:
   <xsl:template match="/card">
   
   
      <xsl:variable name="contract_title" select="contract/@title" />
      <xsl:variable name="contract_comment" select="contract/@comment" />
      <xsl:variable name="fio" select="parameters/parameter[@pid=4]/@value" />
      <xsl:variable name="address" select="parameters/parameter[@pid=19]/@value" />
      <xsl:variable name="phone" select="parameters/parameter[@pid=6]/@value" />
      <xsl:variable name="email" select="parameters/parameter[@pid=20]/@value" />
      <xsl:variable name="tariff_plan" select="contract/@tariff_plan" />
      <xsl:variable name="pswd" select="contract/@pswd" />
      
      <xsl:variable name="inet_title" select="'Internet'" />
      <xsl:variable name="inet_mid" select="'6'" />
      
      <xsl:variable name="email_title" select="'Email'" />
      <xsl:variable name="email_mid" select="'1'" />

В данном куске кода описывается template, соответствующему card
Код:
<xsl:template match="/card">
откуда собственно и берутся значения и переменные. Как получить массив ТП из контракта?
Код:
<xsl:variable name="tariff_plan" select="contract/@tariff_plan" />

Эта часть выбирает первый, из наименьшего по id, дальнейшие не выбираются. Подскажите, лучше примером, как осуществить такую выборку по ТП?

Автор:  Администратор [ 28 авг 2008, 16:17 ]
Заголовок сообщения: 

В текущей версии, к сожалению, выводится только первый тариф. Я добавил запись в TODO.

Автор:  dimOn [ 16 окт 2008, 14:18 ]
Заголовок сообщения: 

Сейчас кладутся все тарифы списком. Можно использовать xsl:for-each, см contract.xsl.

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