aospan писал(а):А можно сделать чтобы отчет автматически не делался.Magnum72 писал(а):Можно вставить обычный Java script, который выставит все нужные значения. Можно пойти дальше - вставить запоминание cookie и запоминать последние настройки ...aospan писал(а):MadMike писал(а):То есть для изменения вообще править можно всё - и xml файлы и файл basic.xslt - зависит от задачи. Если вам нужно, например, не выводить третью колонку в таблице с отчетом по трафику, то тут без правки basic.xslt не обойтись. но если вам нужно, например, просто убрать пункт из меню, то можно обойтись правкой соответсвующего xml шаблона.
А как сделать так чтоб период выборки по умолчанию начинался с начала текущего месяца? т.е. когда первый раз заходишь с отчет он выводит отчет за позледние 30 календарных дней как я понял... очень неудобно передвигть 4 ползунка на 0 чтоб узнать состояние в текущем месяце.
Открываешь страничку, и выбираешь промежуток выборки.
И все-таки, правельнее было бы или текущий день, или текущий месяц по умолчанию даты выставлять.
Как изменить веб-интерфейса своими силами?
Как в шаблоне удалять столбцы из отчетов.
Вот например такой отчет есть в user_reports.xml
как и что править в basic basic.xslt чтоб его не было тоже, а то так только заголовка нет.
Код: Выделить всё
<table >
<tab>M_ACCOUNT</tab>
<tab>M_BALANCE</tab>
<!-- <tab>M_USER_CREDIT</tab>-->
<field type="static_val_table_single" mult_param="accounts_list"></field>
</table>
как и что править в basic basic.xslt чтоб его не было тоже, а то так только заголовка нет.
аналогичная проблемаКак в шаблоне удалять столбцы из отчетов.
<table >
<tab>M_ACCOUNT</tab>
<tab>M_BALANCE</tab>
<!-- <tab>M_USER_CREDIT</tab>-->
<field type="static_val_table_single" mult_param="accounts_list"></field>
</table>
Вот например такой отчет есть в user_reports.xml
как и что править в basic basic.xslt чтоб его не было тоже, а то так только заголовка нет.

здесь можно воспользоваться возможностями XSLT и в basic.xslt убрать столбцы из нужных таблиц. Например, мы хотим убрать 3й столбец в таблице accounts_traffic_info. Для этого в разделе <xsl:template match="field[@type="static_val_table_single"]"> определяем название таблицы:Slad писал(а):aospan, будь добр, научи как столбцы убирать.
<xsl:variable name="temp_1"><xsl:value-of select="@mult_param"/></xsl:variable>
и затем уже убираем нужный столбец в этой таблице:
<xsl:choose>
<xsl:when test="$temp_1 = 'accounts_traffic_info'">
<xsl:variable name="pos" select="position()"/>
<xsl:if test="$pos != 3">
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:otherwise>
</xsl:choose>
так же надо убрать название столба в xml файле user_reports_traffic.xml. В принципе можно использовать практически все возможности XML/XSLT.
Что значит "определяем название таблицы" - нужно найти кусок кода с именем таблицы или добавить свою строку?aospan писал(а): Для этого в разделе <xsl:template match="field[@type="static_val_table_single"]"> определяем название таблицы:
<xsl:variable name="temp_1"><xsl:value-of select="@mult_param"/></xsl:variable>
Это как я понял нужно добавить послеи затем уже убираем нужный столбец в этой таблице:
<xsl:choose>
<xsl:when test="$temp_1 = 'accounts_traffic_info'">
<xsl:variable name="pos" select="position()"/>
<xsl:if test="$pos != 3">
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:otherwise>
</xsl:choose>
так же надо убрать название столба в xml файле user_reports_traffic.xml. В принципе можно использовать практически все возможности XML/XSLT.
<TR><xsl:if test="$prompt != ''">
Или не так все делается?
[/quote]
Slad писал(а):Иначе говоря записываем название таблицы в переменную temp_1. Данный шаблон вызывается на каждую таблицу, поэтому нам надо узнать для какой таблицы он вызыван и дальше уже делать "вырезание" колонки.aospan писал(а): Для этого в разделе <xsl:template match="field[@type="static_val_table_single"]"> определяем название таблицы:
<xsl:variable name="temp_1"><xsl:value-of select="@mult_param"/></xsl:variable>
Что значит "определяем название таблицы" - нужно найти кусок кода с именем таблицы или добавить свою строку?
поностью этот кусок выглядит так:и затем уже убираем нужный столбец в этой таблице:
<xsl:choose>
<xsl:when test="$temp_1 = 'accounts_traffic_info'">
<xsl:variable name="pos" select="position()"/>
<xsl:if test="$pos != 3">
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:otherwise>
</xsl:choose>
так же надо убрать название столба в xml файле user_reports_traffic.xml. В принципе можно использовать практически все возможности XML/XSLT.
Это как я понял нужно добавить после
<TR><xsl:if test="$prompt != ''">
Или не так все делается?
<xsl:otherwise>
<xsl:for-each select="./row_params/param_value">
<xsl:choose>
<xsl:when test="@link != ''">
<TD class="utm-table" align="left">
<A HREF="/cgi-bin/utm5/{$user}?skey={$skey__}&{@link}">
<xsl:value-of select="."/>
</A>
</TD>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$temp_1 = 'accounts_traffic_info'">
<xsl:variable name="pos" select="position()"/>
<xsl:if test="$pos != 3">
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:otherwise>
aospan,можно полностью кусок
начиная с <!-- ************* ROWS **************** -->
и до <!-- *********************** FORMS SECTION **************************** -->
полдня промучался, так и не получается.
если слишком большой объем, то вышлите плиз на tempo@kgs.ru
начиная с <!-- ************* ROWS **************** -->
и до <!-- *********************** FORMS SECTION **************************** -->
полдня промучался, так и не получается.
если слишком большой объем, то вышлите плиз на tempo@kgs.ru
<!-- ************* ROWS **************** -->
<xsl:template match="field[@type="static_val_table"]">
<TR>
<TD class="utm-table" align="right">
<xsl:call-template name="dict"><xsl:with-param name="value">
<xsl:value-of select="@prompt"/>
</xsl:with-param></xsl:call-template>
</TD>
<TD class="utm-table" align="left">
<xsl:apply-templates select="*"/>
</TD>
</TR>
</xsl:template>
<xsl:template match="field[@type="static_val_table_single"]">
<xsl:variable name="prompt" select="@prompt"/>
<xsl:variable name="param"><xsl:value-of select="@param"/></xsl:variable>
<xsl:variable name="bold"><xsl:value-of select="@bold"/></xsl:variable>
<xsl:variable name="temp_1"><xsl:value-of select="@mult_param"/></xsl:variable>
<!-- counter for traffic report table --> <xsl:variable name="matchNumber" select="'0'"/>
<xsl:for-each select="key('db_key_row',$temp_1)">
<TR>
<xsl:if test="$prompt != ''">
<xsl:choose>
<xsl:when test="$bold != ''">
<TD class="utm-table-bold" align="right">
<xsl:call-template name="dict"><xsl:with-param name="value">
<xsl:value-of select="$prompt"/>
</xsl:with-param></xsl:call-template>
</TD>
</xsl:when>
<xsl:otherwise>
<TD class="utm-table" align="right">
<xsl:call-template name="dict"><xsl:with-param name="value">
<xsl:value-of select="$prompt"/>
</xsl:with-param></xsl:call-template>
</TD>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:choose>
<xsl:when test="$param = 'int_status'">
<xsl:for-each select="key('db_key',$param)/param_value">
<xsl:variable name="int_status"><xsl:value-of select="."/></xsl:variable>
<TD class="utm-table" align="left">
<xsl:choose>
<xsl:when test="$int_status='1'">
<xsl:call-template name="dict"><xsl:with-param name="value">M_INT_ON</xsl:with-param></xsl:call-template><xsl:text> </xsl:t
ext>
<A HREF="/cgi-bin/utm5/{$user}?skey={$skey__}&cmd=user_reports&int_status_cmd=invert">
<xsl:call-template name="dict"><xsl:with-param name="value">M_INT_DO_OFF</xsl:with-param></xsl:call-template>
</A>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="dict"><xsl:with-param name="value">M_INT_OFF</xsl:with-param></xsl:call-template><xsl:text> </xsl:text>
<A HREF="/cgi-bin/utm5/{$user}?skey={$skey__}&cmd=user_reports&int_status_cmd=invert">
<xsl:call-template name="dict"><xsl:with-param name="value">M_INT_DO_ON</xsl:with-param></xsl:call-template>
</A>
</xsl:otherwise>
</xsl:choose>
</TD>
</xsl:for-each>
</xsl:when>
<xsl:when test="$param = 'is_blocked'">
<xsl:for-each select="key('db_key',$param)/param_value">
<xsl:variable name="block_status"><xsl:value-of select="."/></xsl:variable>
<TD class="utm-table" align="left">
<xsl:choose>
<xsl:when test="$block_status='0'">
<xsl:call-template name="dict"><xsl:with-param name="value">M_BLOCK_OFF</xsl:with-param></xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="dict"><xsl:with-param name="value">M_BLOCK_ON</xsl:with-param></xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</TD>
</xsl:for-each>
</xsl:when>
<xsl:when test="$param!=''">
<xsl:for-each select="key('db_key',$param)/param_value">
<xsl:choose>
<xsl:when test="$bold != ''">
<TD class="utm-table-bold" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:when>
<xsl:otherwise>
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="./row_params/param_value">
<xsl:choose>
<xsl:when test="@link != ''">
<TD class="utm-table" align="left">
<A HREF="/cgi-bin/utm5/{$user}?skey={$skey__}&{@link}">
<xsl:value-of select="."/>
</A>
</TD>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$temp_1 = 'accounts_traffic_info'">
<xsl:variable name="pos" select="position()"/>
<xsl:if test="$pos != 3">
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</TR>
</xsl:for-each>
</xsl:template>
<!-- *********************** FORMS SECTION **************************** -->
<xsl:template match="field[@type="static_val_table"]">
<TR>
<TD class="utm-table" align="right">
<xsl:call-template name="dict"><xsl:with-param name="value">
<xsl:value-of select="@prompt"/>
</xsl:with-param></xsl:call-template>
</TD>
<TD class="utm-table" align="left">
<xsl:apply-templates select="*"/>
</TD>
</TR>
</xsl:template>
<xsl:template match="field[@type="static_val_table_single"]">
<xsl:variable name="prompt" select="@prompt"/>
<xsl:variable name="param"><xsl:value-of select="@param"/></xsl:variable>
<xsl:variable name="bold"><xsl:value-of select="@bold"/></xsl:variable>
<xsl:variable name="temp_1"><xsl:value-of select="@mult_param"/></xsl:variable>
<!-- counter for traffic report table --> <xsl:variable name="matchNumber" select="'0'"/>
<xsl:for-each select="key('db_key_row',$temp_1)">
<TR>
<xsl:if test="$prompt != ''">
<xsl:choose>
<xsl:when test="$bold != ''">
<TD class="utm-table-bold" align="right">
<xsl:call-template name="dict"><xsl:with-param name="value">
<xsl:value-of select="$prompt"/>
</xsl:with-param></xsl:call-template>
</TD>
</xsl:when>
<xsl:otherwise>
<TD class="utm-table" align="right">
<xsl:call-template name="dict"><xsl:with-param name="value">
<xsl:value-of select="$prompt"/>
</xsl:with-param></xsl:call-template>
</TD>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:choose>
<xsl:when test="$param = 'int_status'">
<xsl:for-each select="key('db_key',$param)/param_value">
<xsl:variable name="int_status"><xsl:value-of select="."/></xsl:variable>
<TD class="utm-table" align="left">
<xsl:choose>
<xsl:when test="$int_status='1'">
<xsl:call-template name="dict"><xsl:with-param name="value">M_INT_ON</xsl:with-param></xsl:call-template><xsl:text> </xsl:t
ext>
<A HREF="/cgi-bin/utm5/{$user}?skey={$skey__}&cmd=user_reports&int_status_cmd=invert">
<xsl:call-template name="dict"><xsl:with-param name="value">M_INT_DO_OFF</xsl:with-param></xsl:call-template>
</A>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="dict"><xsl:with-param name="value">M_INT_OFF</xsl:with-param></xsl:call-template><xsl:text> </xsl:text>
<A HREF="/cgi-bin/utm5/{$user}?skey={$skey__}&cmd=user_reports&int_status_cmd=invert">
<xsl:call-template name="dict"><xsl:with-param name="value">M_INT_DO_ON</xsl:with-param></xsl:call-template>
</A>
</xsl:otherwise>
</xsl:choose>
</TD>
</xsl:for-each>
</xsl:when>
<xsl:when test="$param = 'is_blocked'">
<xsl:for-each select="key('db_key',$param)/param_value">
<xsl:variable name="block_status"><xsl:value-of select="."/></xsl:variable>
<TD class="utm-table" align="left">
<xsl:choose>
<xsl:when test="$block_status='0'">
<xsl:call-template name="dict"><xsl:with-param name="value">M_BLOCK_OFF</xsl:with-param></xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="dict"><xsl:with-param name="value">M_BLOCK_ON</xsl:with-param></xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</TD>
</xsl:for-each>
</xsl:when>
<xsl:when test="$param!=''">
<xsl:for-each select="key('db_key',$param)/param_value">
<xsl:choose>
<xsl:when test="$bold != ''">
<TD class="utm-table-bold" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:when>
<xsl:otherwise>
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="./row_params/param_value">
<xsl:choose>
<xsl:when test="@link != ''">
<TD class="utm-table" align="left">
<A HREF="/cgi-bin/utm5/{$user}?skey={$skey__}&{@link}">
<xsl:value-of select="."/>
</A>
</TD>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$temp_1 = 'accounts_traffic_info'">
<xsl:variable name="pos" select="position()"/>
<xsl:if test="$pos != 3">
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<TD class="utm-table" align="left">
<xsl:value-of select="."/>
</TD>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</TR>
</xsl:for-each>
</xsl:template>
<!-- *********************** FORMS SECTION **************************** -->