Отображение третьего столбца для поля типа Составное — различия между версиями
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>