Карточка заказа, добавить картинку товара
Включил по инструкции
свой шаблон, но не могу понять какой XML сгенерирован, чтобы вывести миниатюру товара в одной из колонок.
Подскажите, как вывести маленькую картинку для товара сюда?
свой шаблон, но не могу понять какой XML сгенерирован, чтобы вывести миниатюру товара в одной из колонок.
Подскажите, как вывести маленькую картинку для товара сюда?
<xsl:when test="image_small != ''">
<img src="{dir}{image_small}" alt="{name}" />
</xsl:when>
<img src="{dir}{image_small}" alt="{name}" />
</xsl:when>
Нет не работает. В итоге пустое место.
Проверял у товара есть и большое и малое изображение.
Кажется, этого элемента просто нет в XML.
Плюс заметил, не считается сумма "Всего к оплате:" и "В том числе налог:"
И шрифты все заменились на Times New Roman, с таблиц исчезли рамки и вместо названия "Карточка ..." просто указан url, будто бы title не заполнен.
У нас версия Бизнес 6.1.4
Проверял у товара есть и большое и малое изображение.
Кажется, этого элемента просто нет в XML.
Плюс заметил, не считается сумма "Всего к оплате:" и "В том числе налог:"
И шрифты все заменились на Times New Roman, с таблиц исчезли рамки и вместо названия "Карточка ..." просто указан url, будто бы title не заполнен.
У нас версия Бизнес 6.1.4
По версии 6.1.4 ничем не могу помочь, текущая версия 6.5.3, установите обновления.
Сам поэкспериментировал и понял, что XML не соответствует шаблону в
Не так называются узлы XML.
Сделал вывод и картинки и оформление нормальное.
Мой рабочий шаблон для МагазинКарточкаЗаказа:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:hostcms="http://www.hostcms.ru/"
exclude-result-prefixes="hostcms">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<!-- МагазинКарточкаЗаказа -->
<xsl:template match="/shop">
<html>
<head>
<title>Карточка заказа <xsl:value-of select="shop_order/invoice" /> от <xsl:value-of select="shop_order/datetime" /></title>
<style>
html, body, td { font: 14px Arial, Verdana, Tahoma, sans-serif; }
body { margin: 2em .5em .5em 2em }
.brd td, .brd th {
border: black 1px solid;
}
th {
text-align: center;
font-weight: bold;
}
.pic {
text-align: center;
}
.tfoot td
{
font-weight: bold;
white-space: nowrap;
}
table, td
{
empty-cells: show;
vertical-align: top;
}
</style>
</head>
<body>
<p><img src="/images/site/logo.png" alt="Logo" title="Logo" /></p>
<h2 align="center">Карточка заказа <xsl:value-of select="shop_order/invoice" /> от <xsl:value-of select="shop_order/datetime" /></h2>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<xsl:apply-templates select="shop_order"/>
</table>
<hr />
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<tr>
<td width="17%">
Платежная система
</td>
<td>
<b><xsl:value-of select="/shop/shop_order/shop_payment_system/name" /></b>
</td>
</tr>
<tr>
<td>
Оплачен
</td>
<td>
<xsl:choose>
<xsl:when test="/shop/shop_order/paid != 0"><b>Да</b></xsl:when>
<xsl:otherwise>Нет</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<tr>
<td>
Отменен
</td>
<td>
<xsl:choose>
<xsl:when test="/shop/shop_order/canceled != 0"><b>Да</b></xsl:when>
<xsl:otherwise>Нет</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<xsl:if test="/shop/shop_order/shop_order_status_id != 0">
<tr>
<td>
Статус заказа
</td>
<td>
<b><xsl:value-of select="/shop/shop_order/shop_order_status/name" /><xsl:text> </xsl:text>(<xsl:value-of select="/shop/shop_order/status_datetime" />)</b>
</td>
</tr>
</xsl:if>
<xsl:if test="/shop/shop_order/shop_delivery_condition_id != 0">
<tr>
<td>
Тип доставки:
</td>
<td>
<b><xsl:value-of select="/shop/shop_order/shop_delivery/name" /><xsl:text> </xsl:text>(<xsl:value-of select="/shop/shop_order/shop_delivery/shop_delivery_condition/name" />)</b>
</td>
</tr>
</xsl:if>
<xsl:if test="/shop/shop_order/description != ''">
<tr>
<td>
Описание заказа:
</td>
<td>
<xsl:value-of select="/shop/shop_order/description" />
</td>
</tr>
</xsl:if>
<xsl:if test="/shop/shop_order/system_information != ''">
<tr>
<td>
Информация о заказе:
</td>
<td>
<xsl:value-of select="/shop/shop_order/system_information" />
</td>
</tr>
</xsl:if>
<xsl:if test="/shop/shop_order/source_id != 0">
<tr><td colspan="2"></td></tr>
<tr>
<td>Рекламный сервис:</td>
<td><xsl:value-of select="/shop/shop_order/source/service" /></td>
</tr>
<tr>
<td>Название рекламной кампании:</td>
<td><xsl:value-of select="/shop/shop_order/source/campaign" /></td>
</tr>
<tr>
<td>Рекламное объявление:</td>
<td><xsl:value-of select="/shop/shop_order/source/ad" /></td>
</tr>
<tr>
<td>Место размещения:</td>
<td><xsl:value-of select="/shop/shop_order/source/source" /></td>
</tr>
<tr>
<td>Средство маркетинга:</td>
<td><xsl:value-of select="/shop/shop_order/source/medium" /></td>
</tr>
<tr>
<td>Дополнительная информация:</td>
<td><xsl:value-of select="/shop/shop_order/source/content" /></td>
</tr>
<tr>
<td>Ключевые слова:</td>
<td><xsl:value-of select="/shop/shop_order/source/term" /></td>
</tr>
</xsl:if>
</table>
<br/>
<table cellspacing="0" cellpadding="3" border="0" width="100%" class="brd">
<thead>
<tr>
<th>
№
</th>
<th>
Картинка
</th>
<th>
Наименование
</th>
<th>
Артикул
</th>
<th>
Ед. изм.
</th>
<th>
Цена,<xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name" />
</th>
<th>
Кол-во
</th>
<th>
Ставка налога
</th>
<th>
Налог,<xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name" />
</th>
<th>
Сумма,<xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name" />
</th>
</tr>
</thead>
<tbody>
<xsl:apply-templates select="shop_order/shop_order_item"/>
</tbody>
<tfoot>
<tr>
<td width="80%" align="right" colspan="6">
В том числе налог:
</td>
<td width="80%" align="right" colspan="4">
<xsl:value-of select="/shop/shop_order/total_tax" /><xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name" />
</td>
</tr>
<tr>
<td align="right" colspan="6">
Всего к оплате:
</td>
<td align="right" colspan="4">
<b><xsl:value-of select="/shop/shop_order/total_amount" /><xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name" /></b>
</td>
</tr>
</tfoot>
</table>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<xsl:apply-templates select="shop_company"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="shop_company">
<tr>
<td width="17%">
Поставщик
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="name" />
</b>
</td>
</tr>
<tr>
<td>
ИНН/КПП
</td>
<td>
<b>
<xsl:value-of select="tin" />/<xsl:value-of select="kpp" />
</b>
</td>
</tr>
<tr>
<td>
ОГРН
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="psrn" />
</b>
</td>
</tr>
<tr>
<td>
Адрес
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="address" />
</b>
</td>
</tr>
<tr>
<td>
Телефон
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="phone" />
</b>
</td>
</tr>
<xsl:if test="fax != ''">
<tr>
<td>
Факс
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="fax" />
</b>
</td>
</tr>
</xsl:if>
<tr>
<td>
E-Mail
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="email" />
</b>
</td>
</tr>
<tr>
<td>
Сайт
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="site" />
</b>
</td>
</tr>
</xsl:template>
<xsl:template match="shop_order">
<xsl:if test="company != ''">
<tr>
<td width="17%">
Плательщик
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="company" />
</b>
</td>
</tr>
</xsl:if>
<tr>
<td width="17%">
Контактное лицо
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="surname" /><xsl:text> </xsl:text><xsl:value-of disable-output-escaping="yes" select="name" /><xsl:text> </xsl:text><xsl:value-of disable-output-escaping="yes" select="patronymic" />
</b>
</td>
</tr>
<xsl:if test="address != ''">
<tr>
<td width="17%">
Адрес
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="address" />
</b>
</td>
</tr>
</xsl:if>
<xsl:if test="siteuser/node()">
<tr>
<td width="17%">
Пользователь
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="siteuser/login" /><xsl:text> </xsl:text>(код<xsl:text> </xsl:text><xsl:value-of disable-output-escaping="yes" select="siteuser/@id" />)
</b>
</td>
</tr>
</xsl:if>
<tr>
<td width="17%">
Телефон
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="phone" />
</b>
</td>
</tr>
<xsl:if test="fax != ''">
<tr>
<td width="17%">
Факс
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="fax" />
</b>
</td>
</tr>
</xsl:if>
<xsl:if test="email != ''">
<tr>
<td width="17%">
E-Mail
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="email" />
</b>
</td>
</tr>
</xsl:if>
</xsl:template>
<xsl:template match="shop_order_item">
<tr>
<td style="text-align: center;">
<xsl:value-of disable-output-escaping="yes" select="position()" />
</td>
<td class="pic">
<xsl:if test="shop_item/image_small != ''"><img src="{shop_item/dir}{shop_item/image_small}" alt="{name}" /></xsl:if>
</td>
<td>
<xsl:value-of disable-output-escaping="yes" select="name" />
</td>
<td>
<xsl:value-of disable-output-escaping="yes" select="marking" />
</td>
<td>
<xsl:value-of disable-output-escaping="yes" select="shop_item/shop_measure/name" />
</td>
<td>
<xsl:value-of disable-output-escaping="yes" select="price - tax" />
</td>
<td style="text-align: center;">
<xsl:value-of disable-output-escaping="yes" select="quantity" />
</td>
<td style="text-align: center;">
<xsl:choose>
<xsl:when test="rate > 0">
<xsl:value-of disable-output-escaping="yes" select="rate" />%
</xsl:when>
<xsl:otherwise><xsl:value-of disable-output-escaping="yes" select="rate" /></xsl:otherwise>
</xsl:choose>
</td>
<td style="text-align: center;">
<xsl:value-of disable-output-escaping="yes" select="tax * quantity" />
</td>
<td style="border-right: 1px solid black; white-space: nowrap;">
<xsl:value-of disable-output-escaping="yes" select="price * quantity" />
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
Не так называются узлы XML.
Сделал вывод и картинки и оформление нормальное.
Мой рабочий шаблон для МагазинКарточкаЗаказа:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:hostcms="http://www.hostcms.ru/"
exclude-result-prefixes="hostcms">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<!-- МагазинКарточкаЗаказа -->
<xsl:template match="/shop">
<html>
<head>
<title>Карточка заказа <xsl:value-of select="shop_order/invoice" /> от <xsl:value-of select="shop_order/datetime" /></title>
<style>
html, body, td { font: 14px Arial, Verdana, Tahoma, sans-serif; }
body { margin: 2em .5em .5em 2em }
.brd td, .brd th {
border: black 1px solid;
}
th {
text-align: center;
font-weight: bold;
}
.pic {
text-align: center;
}
.tfoot td
{
font-weight: bold;
white-space: nowrap;
}
table, td
{
empty-cells: show;
vertical-align: top;
}
</style>
</head>
<body>
<p><img src="/images/site/logo.png" alt="Logo" title="Logo" /></p>
<h2 align="center">Карточка заказа <xsl:value-of select="shop_order/invoice" /> от <xsl:value-of select="shop_order/datetime" /></h2>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<xsl:apply-templates select="shop_order"/>
</table>
<hr />
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<tr>
<td width="17%">
Платежная система
</td>
<td>
<b><xsl:value-of select="/shop/shop_order/shop_payment_system/name" /></b>
</td>
</tr>
<tr>
<td>
Оплачен
</td>
<td>
<xsl:choose>
<xsl:when test="/shop/shop_order/paid != 0"><b>Да</b></xsl:when>
<xsl:otherwise>Нет</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<tr>
<td>
Отменен
</td>
<td>
<xsl:choose>
<xsl:when test="/shop/shop_order/canceled != 0"><b>Да</b></xsl:when>
<xsl:otherwise>Нет</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<xsl:if test="/shop/shop_order/shop_order_status_id != 0">
<tr>
<td>
Статус заказа
</td>
<td>
<b><xsl:value-of select="/shop/shop_order/shop_order_status/name" /><xsl:text> </xsl:text>(<xsl:value-of select="/shop/shop_order/status_datetime" />)</b>
</td>
</tr>
</xsl:if>
<xsl:if test="/shop/shop_order/shop_delivery_condition_id != 0">
<tr>
<td>
Тип доставки:
</td>
<td>
<b><xsl:value-of select="/shop/shop_order/shop_delivery/name" /><xsl:text> </xsl:text>(<xsl:value-of select="/shop/shop_order/shop_delivery/shop_delivery_condition/name" />)</b>
</td>
</tr>
</xsl:if>
<xsl:if test="/shop/shop_order/description != ''">
<tr>
<td>
Описание заказа:
</td>
<td>
<xsl:value-of select="/shop/shop_order/description" />
</td>
</tr>
</xsl:if>
<xsl:if test="/shop/shop_order/system_information != ''">
<tr>
<td>
Информация о заказе:
</td>
<td>
<xsl:value-of select="/shop/shop_order/system_information" />
</td>
</tr>
</xsl:if>
<xsl:if test="/shop/shop_order/source_id != 0">
<tr><td colspan="2"></td></tr>
<tr>
<td>Рекламный сервис:</td>
<td><xsl:value-of select="/shop/shop_order/source/service" /></td>
</tr>
<tr>
<td>Название рекламной кампании:</td>
<td><xsl:value-of select="/shop/shop_order/source/campaign" /></td>
</tr>
<tr>
<td>Рекламное объявление:</td>
<td><xsl:value-of select="/shop/shop_order/source/ad" /></td>
</tr>
<tr>
<td>Место размещения:</td>
<td><xsl:value-of select="/shop/shop_order/source/source" /></td>
</tr>
<tr>
<td>Средство маркетинга:</td>
<td><xsl:value-of select="/shop/shop_order/source/medium" /></td>
</tr>
<tr>
<td>Дополнительная информация:</td>
<td><xsl:value-of select="/shop/shop_order/source/content" /></td>
</tr>
<tr>
<td>Ключевые слова:</td>
<td><xsl:value-of select="/shop/shop_order/source/term" /></td>
</tr>
</xsl:if>
</table>
<br/>
<table cellspacing="0" cellpadding="3" border="0" width="100%" class="brd">
<thead>
<tr>
<th>
№
</th>
<th>
Картинка
</th>
<th>
Наименование
</th>
<th>
Артикул
</th>
<th>
Ед. изм.
</th>
<th>
Цена,<xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name" />
</th>
<th>
Кол-во
</th>
<th>
Ставка налога
</th>
<th>
Налог,<xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name" />
</th>
<th>
Сумма,<xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name" />
</th>
</tr>
</thead>
<tbody>
<xsl:apply-templates select="shop_order/shop_order_item"/>
</tbody>
<tfoot>
<tr>
<td width="80%" align="right" colspan="6">
В том числе налог:
</td>
<td width="80%" align="right" colspan="4">
<xsl:value-of select="/shop/shop_order/total_tax" /><xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name" />
</td>
</tr>
<tr>
<td align="right" colspan="6">
Всего к оплате:
</td>
<td align="right" colspan="4">
<b><xsl:value-of select="/shop/shop_order/total_amount" /><xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name" /></b>
</td>
</tr>
</tfoot>
</table>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<xsl:apply-templates select="shop_company"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="shop_company">
<tr>
<td width="17%">
Поставщик
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="name" />
</b>
</td>
</tr>
<tr>
<td>
ИНН/КПП
</td>
<td>
<b>
<xsl:value-of select="tin" />/<xsl:value-of select="kpp" />
</b>
</td>
</tr>
<tr>
<td>
ОГРН
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="psrn" />
</b>
</td>
</tr>
<tr>
<td>
Адрес
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="address" />
</b>
</td>
</tr>
<tr>
<td>
Телефон
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="phone" />
</b>
</td>
</tr>
<xsl:if test="fax != ''">
<tr>
<td>
Факс
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="fax" />
</b>
</td>
</tr>
</xsl:if>
<tr>
<td>
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="email" />
</b>
</td>
</tr>
<tr>
<td>
Сайт
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="site" />
</b>
</td>
</tr>
</xsl:template>
<xsl:template match="shop_order">
<xsl:if test="company != ''">
<tr>
<td width="17%">
Плательщик
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="company" />
</b>
</td>
</tr>
</xsl:if>
<tr>
<td width="17%">
Контактное лицо
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="surname" /><xsl:text> </xsl:text><xsl:value-of disable-output-escaping="yes" select="name" /><xsl:text> </xsl:text><xsl:value-of disable-output-escaping="yes" select="patronymic" />
</b>
</td>
</tr>
<xsl:if test="address != ''">
<tr>
<td width="17%">
Адрес
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="address" />
</b>
</td>
</tr>
</xsl:if>
<xsl:if test="siteuser/node()">
<tr>
<td width="17%">
Пользователь
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="siteuser/login" /><xsl:text> </xsl:text>(код<xsl:text> </xsl:text><xsl:value-of disable-output-escaping="yes" select="siteuser/@id" />)
</b>
</td>
</tr>
</xsl:if>
<tr>
<td width="17%">
Телефон
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="phone" />
</b>
</td>
</tr>
<xsl:if test="fax != ''">
<tr>
<td width="17%">
Факс
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="fax" />
</b>
</td>
</tr>
</xsl:if>
<xsl:if test="email != ''">
<tr>
<td width="17%">
</td>
<td>
<b>
<xsl:value-of disable-output-escaping="yes" select="email" />
</b>
</td>
</tr>
</xsl:if>
</xsl:template>
<xsl:template match="shop_order_item">
<tr>
<td style="text-align: center;">
<xsl:value-of disable-output-escaping="yes" select="position()" />
</td>
<td class="pic">
<xsl:if test="shop_item/image_small != ''"><img src="{shop_item/dir}{shop_item/image_small}" alt="{name}" /></xsl:if>
</td>
<td>
<xsl:value-of disable-output-escaping="yes" select="name" />
</td>
<td>
<xsl:value-of disable-output-escaping="yes" select="marking" />
</td>
<td>
<xsl:value-of disable-output-escaping="yes" select="shop_item/shop_measure/name" />
</td>
<td>
<xsl:value-of disable-output-escaping="yes" select="price - tax" />
</td>
<td style="text-align: center;">
<xsl:value-of disable-output-escaping="yes" select="quantity" />
</td>
<td style="text-align: center;">
<xsl:choose>
<xsl:when test="rate > 0">
<xsl:value-of disable-output-escaping="yes" select="rate" />%
</xsl:when>
<xsl:otherwise><xsl:value-of disable-output-escaping="yes" select="rate" /></xsl:otherwise>
</xsl:choose>
</td>
<td style="text-align: center;">
<xsl:value-of disable-output-escaping="yes" select="tax * quantity" />
</td>
<td style="border-right: 1px solid black; white-space: nowrap;">
<xsl:value-of disable-output-escaping="yes" select="price * quantity" />
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
Авторизация