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

Вызов внешнего скрипта из webинтерфейса с параметрами.
http://forum.bitel.ru/viewtopic.php?f=22&t=2576
Страница 1 из 1

Автор:  UncleSam [ 11 июл 2009, 11:34 ]
Заголовок сообщения:  Вызов внешнего скрипта из webинтерфейса с параметрами.

День добрый возникла необходимость печати клиентом платежку для самого себя на любую сумму.

Имеется скрипт по адресу http://10.0.0.2/cgi-bin/schet.cgi который генерирует необходимую платежку
Скрипту необходимо передать два параметра из договора, номер договора и ФИО клиента и один параметр - сумму из web интерфейса

в файл common.xsl вставляю

Код:
  <tr>
     <th><img src="img/strelki.gif"/></th>
     <td><a href="?action=GetSchet&amp;mid=contract">Выставить счет на произвольную сумму</a></td>
  </tr>


файл main.xsl правлю

Код:
<xsl:template name="title">
<xsl:choose>
  ...
  <xsl:when test="data/@action = 'GetSchet'">Самостоятельное выствление счета</xsl:when>
  <xsl:when test="data/@action = 'GetSchet2'">Самостоятельное выставление счета</xsl:when>
  ...
</xsl:choose>
</xsl:template>


<xsl:template match="/data">
<xsl:choose>
   ...
  <xsl:when test="@action = 'GetSchet'">
    <xsl:call-template name="GetSchet"/>
  </xsl:when>
  <xsl:when test="@action = 'GetSchet2'">
    <xsl:call-template name="GetSchet2"/>
  </xsl:when>
  ...
</xsl:choose>
</xsl:template>


<xsl:template name="GetSchet">
  <form method='post' action='{$WEBEXECUTER}'>
  <input type="hidden" name="action" value="GetSchet2"/>
 <div class="report">
  <table cellspacing='1' id="idTableGetSchet">
  <col class="col1"/>
  <col class="col2"/>
  <tbody>
    <tr>
    <th>Выставить мне счет на сумму:</th>
    <td><input type='edit' name='summа' size='6' maxlength='10'/> рублей</td>
    </tr>
   </tbody>
   <tfoot>
    <tr><td colspan='2'>
    <xsl:call-template name="submit">
        <xsl:with-param name="title" select="'Выставить'"/>
    </xsl:call-template>
    </td></tr>
   </tfoot>   
  </table>   
 </div>       
  </form>     
</xsl:template>


<xsl:template name="GetSchet2">
 <h1> Посмотреть/сохранить счет</h1>
  <p>Просмотреть выставленный счет:</p>
  <form method='post' action='http://10.0.0.2/cgi-bin/schet.cgi'> 
  <input type="hidden" name="action" value="ViewSchet"/>
  <input type="hidden" name="shcet" value="??????????"/>
  <input type="hidden" name="fio" value="??????????"/>
 <input type="hidden" name="Summ" value="??????????"/>
    <xsl:call-template name="submit">
      <xsl:with-param name="title" select="'Посмотреть счет'"/>
    </xsl:call-template>
  </form>

<br>
<p>Сохранить документ для печати в формате Microsoft Word</p>
 <form method='post' action='http://10.0.0.2/cgi-bin/schet.cgi'> 
  <input type="hidden" name="action" value="SaveSchet"/>
  <input type="hidden" name="shcet" value="??????????"/>
  <input type="hidden" name="fio" value="??????????"/>
 <input type="hidden" name="Summ" value="??????????"/>
    <xsl:call-template name="submit">
      <xsl:with-param name="title" select="'Сохранить счет '"/>
    </xsl:call-template>
  </form>

</xsl:template>


Вопрос что вписать вместо ?????????? чтобы подставить номер контракта ФИО пользователя и сумму введенную на первом этапе.

попытка вставить что то вроде <xsl:value-of select="$contractTitle"/> успехом не увенчалась

В википедии по этому поводу пустая статья.

Автор:  UncleSam [ 13 июл 2009, 13:15 ]
Заголовок сообщения: 

Уважаемая техподдержка, вопрос же не сложный, как на генерируемой web странице в личном кабинете пользователя создать форму для вызова внешнего скрипта которому в качестыве параметров будут передаваться ФИО пользователя и номер договора. Подскажите будьте любезны, думаю вопрос тривиальный.

Автор:  stark [ 13 июл 2009, 14:22 ]
Заголовок сообщения: 

<xsl:value-of select="/data@contract"/>
и все отстальное по аналогии ..чтобы посмотреть xml надо к любому запросу добавить &ct=xml (в фаерфоксе вернется пустая стриница - нужно смотреть исходный код ее )

Автор:  sabriel [ 22 июл 2009, 10:44 ]
Заголовок сообщения: 

Тоже необходимо что то вроде этого сделать,
но никак не могу выдрать адрес.
Код:
<xsl:variable name="address" select="parameters/parameter[@pid=16]/@value" />

Такая конструкция не привела ни к чему.(это из card_inet)
Напишите если не трудно как можно реализовать, так как в xml чайник

Автор:  Amir [ 22 июл 2009, 12:44 ]
Заголовок сообщения: 

В xsl есть как абсолютная адресация, так и относительная.
Абсолютный путь начинается с /
/data/contract_data/parameters/parameter...

Относительный работает относительно текущей ветки:
<xsl:template match="/data">
внутри относительный путь contract_data/parameters (или ./contract_data/parameters) будет = /data/contract_data/parameters
</xsl:template>

<xsl:for-each select="/data/contract_data/parameters/parameter">
внутри относительный путь . будет = /data/contract_data/parameters/parameter
</xsl:template>

Автор:  sabriel [ 22 июл 2009, 17:11 ]
Заголовок сообщения: 

извините может туплю, но у меня есть такое код

Код:
<xsl:template name="GetSchet" >

<xsl:variable name="contitle" select="/data/@contract"/>
<xsl:variable name="fio" select="@comment" />
<xsl:variable name="address" select="/data/contract_data/parameters/parameter[@pid=16]/@value" />

 <h1> Посмотреть/сохранить счет</h1>
  <p>Просмотреть выставленный счет:</p>
  <form method='get' action='http://...../xmlget.php'>
  <input type="hidden" name="action" value="ViewSchet"/>
  <input type="text" name="contitle" value="{$contitle}"/>
  <input type="text" name="fio" value="{$fio}" />
<xsl:value-of select="$address"/>
 <input type="hidden" name="Summ" value="summa"/>
    <xsl:call-template name="submit">
      <xsl:with-param name="title" select="'Посмотреть счет'"/>
    </xsl:call-template>
  </form>
</xsl:template>


Но переменную address не выводит...
в чем может быть косяк?

Автор:  sabriel [ 24 июл 2009, 08:50 ]
Заголовок сообщения: 

Разработчики или те кто знают ответьте пожалуйста.

Автор:  UncleSam [ 10 авг 2009, 04:17 ]
Заголовок сообщения: 

Уважаемые разработчики подскажите, есть ли где то документация по переменным и их использованию в ваших XML шаблонах? Хотелось бы более подробно почитать об этом, а то разбираться в их использовании анализируя чужой код долго и неэффективно. В википедии по этому поводу пусто, на форуме тоже ничего не нашел. Ткните в ссылку если она есть.

Автор:  Администратор [ 11 авг 2009, 13:26 ]
Заголовок сообщения: 

http://www.bgbilling.ru/v4.6/doc/ch01s23s02.html

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