Отображение третьего столбца для поля типа Составное — различия между версиями
VITL' (обсуждение | вклад) (Новая страница: «Начиная с версии системы 2.8.0, в UMI.CMS появилось поле типа "Составное", которое позволяет созд…») |
Aposio (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | '''Актуально для версии 19''' | |
− | + | Начиная с версии системы 2.8.0, в UMI.CMS появилось поле типа "Составное", которое позволяет создавать товары с опционными свойствами.</br> | |
+ | У опционного свойства имеется 2 числовых значения <option int="1" float="1">, однако для редактирования доступно только одно (int). | ||
+ | |||
+ | '''Задача:''' На примере модуля "Каталог" сделать поле float отображаемым и доступным для редактирования.</br> | ||
+ | '''Решение:''' Создадим файл '''form.modify.custom.xsl''' в папке '''styles/skins/modern/data/modules/catalog/''' и вставим в него следующий код: | ||
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
Строка 7: | Строка 11: | ||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:umi="http://www.umi-cms.ru/TR/umi"> | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:umi="http://www.umi-cms.ru/TR/umi"> | ||
− | + | <xsl:template match="field/values/value" mode="field-optioned"> | |
− | + | <xsl:param name="input-name" /> | |
− | + | <xsl:variable name="position" select="position()" /> | |
− | + | <div class="layout-row-icon row"> | |
− | + | <div class="col-md-6" style="min-height:10px;"> | |
− | + | Количество: | |
− | + | <input type="number" class="default edit number" umi:type="int" name="{$input-name}[{$position}][int]" value="{@int}" style="width:40px; display: inline;" /> | |
− | + | </div> | |
− | + | <div class="col-md-5"> | |
− | + | <xsl:value-of select="object/@name" /> | |
− | + | <input type="hidden" name="{$input-name}[{$position}][rel]" value="{object/@id}" /> | |
− | + | <input type="number" class="default edit number" umi:type="float" name="{$input-name}[{$position}][float]" value="{@float}" style="display: inline;"/> | |
− | + | <div class="layout-col-icon" style="display: inline;"> | |
− | + | <a class="icon-action remove-option" style="display: inline;"> | |
− | + | <i class="small-ico i-remove" title="Убрать опцию"></i> | |
− | + | </a> | |
− | + | </div> | |
− | + | </div> | |
− | + | </div> | |
− | + | </xsl:template> | |
− | |||
− | |||
− | |||
− | </xsl:template> | ||
− | |||
</xsl:stylesheet> | </xsl:stylesheet> | ||
</source> | </source> | ||
− | + | <hr></br> | |
+ | '''Устаревшая информация для старого интерфейса административной панели.'''</br> | ||
+ | Чтобы отобразить третье поле для страниц модуля "Каталог", создадим в папке '''/styles/skins/mac/data/modules/catalog/''' файл '''form.modify.custom.xsl''' следующего содержания: | ||
+ | <source lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <!DOCTYPE xsl:stylesheet SYSTEM "ulang://common"> | ||
+ | |||
+ | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:umi="http://www.umi-cms.ru/TR/umi"> | ||
+ | <xsl:template match="field/values/value" mode="field-optioned"> | ||
+ | <xsl:param name="input-name" /> | ||
+ | <xsl:param name="type"> | ||
+ | <xsl:text>float</xsl:text> | ||
+ | </xsl:param> | ||
+ | <xsl:variable name="position" select="position()" /> | ||
+ | <tr> | ||
+ | <td>Количество: | ||
+ | <input type="text" style="width:40px;" umi:type="int" name="{$input-name}[{$position}][int]" value="{@int}" /> | ||
+ | </td> | ||
+ | <td> | ||
+ | <xsl:value-of select="object/@name" /> | ||
+ | <input type="hidden" name="{$input-name}[{$position}][rel]" value="{object/@id}" /> | ||
+ | </td> | ||
+ | <td class="center"> | ||
+ | <input type="text" umi:type="float" name="{$input-name}[{$position}][float]" value="{@float}" /> | ||
+ | </td> | ||
+ | <td class="center narrow"> | ||
+ | <a href="#" class="remove"> | ||
+ | <img src="/images/cms/admin/mac/table/ico_del.gif" /> | ||
+ | </a> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </xsl:template> | ||
+ | </xsl:stylesheet> | ||
+ | </source> | ||
[[Категория: Верстка в XSLT]][[Категория: API]] | [[Категория: Верстка в XSLT]][[Категория: API]] |
Версия 12:21, 14 декабря 2018
Актуально для версии 19
Начиная с версии системы 2.8.0, в UMI.CMS появилось поле типа "Составное", которое позволяет создавать товары с опционными свойствами.
У опционного свойства имеется 2 числовых значения <option int="1" float="1">, однако для редактирования доступно только одно (int).
Задача: На примере модуля "Каталог" сделать поле float отображаемым и доступным для редактирования.
Решение: Создадим файл form.modify.custom.xsl в папке styles/skins/modern/data/modules/catalog/ и вставим в него следующий код:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet SYSTEM "ulang://common">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:umi="http://www.umi-cms.ru/TR/umi">
<xsl:template match="field/values/value" mode="field-optioned">
<xsl:param name="input-name" />
<xsl:variable name="position" select="position()" />
<div class="layout-row-icon row">
<div class="col-md-6" style="min-height:10px;">
Количество:
<input type="number" class="default edit number" umi:type="int" name="{$input-name}[{$position}][int]" value="{@int}" style="width:40px; display: inline;" />
</div>
<div class="col-md-5">
<xsl:value-of select="object/@name" />
<input type="hidden" name="{$input-name}[{$position}][rel]" value="{object/@id}" />
<input type="number" class="default edit number" umi:type="float" name="{$input-name}[{$position}][float]" value="{@float}" style="display: inline;"/>
<div class="layout-col-icon" style="display: inline;">
<a class="icon-action remove-option" style="display: inline;">
<i class="small-ico i-remove" title="Убрать опцию"></i>
</a>
</div>
</div>
</div>
</xsl:template>
</xsl:stylesheet>
Устаревшая информация для старого интерфейса административной панели.
Чтобы отобразить третье поле для страниц модуля "Каталог", создадим в папке /styles/skins/mac/data/modules/catalog/ файл form.modify.custom.xsl следующего содержания:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet SYSTEM "ulang://common">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:umi="http://www.umi-cms.ru/TR/umi">
<xsl:template match="field/values/value" mode="field-optioned">
<xsl:param name="input-name" />
<xsl:param name="type">
<xsl:text>float</xsl:text>
</xsl:param>
<xsl:variable name="position" select="position()" />
<tr>
<td>Количество:
<input type="text" style="width:40px;" umi:type="int" name="{$input-name}[{$position}][int]" value="{@int}" />
</td>
<td>
<xsl:value-of select="object/@name" />
<input type="hidden" name="{$input-name}[{$position}][rel]" value="{object/@id}" />
</td>
<td class="center">
<input type="text" umi:type="float" name="{$input-name}[{$position}][float]" value="{@float}" />
</td>
<td class="center narrow">
<a href="#" class="remove">
<img src="/images/cms/admin/mac/table/ico_del.gif" />
</a>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>