- 25.08.2015
Для удобства работы менеджеров, в письме-оповещении о заказе, а также в административной панели сайта, иногда возникает необходимость вывести:
- артикул или код товара;
- контактные данные покупателя;
- адрес доставки;
- состав заказа.
Дополнительное поле в админке
Начнем с редактирования админки сайта. За отображение заказа отвечают файлы: order-edit.xsl, config.ini, i18n.php.
Открываем для редактирования файл /styles/skins/mac/data/modules/emarket/order-edit.xsl и добавляем строки:
строка 176
<xsl:text>&label-order-items-prefix;</xsl:text>
</th>
строка 422
<xsl:value-of select="concat(../@prefix, ' ', .)" />
</xsl:template>
В файле /config.ini дописываем:
строка 152
В файл языковых констант /classes/modules/emarket/i18n.php, добавляем строку:
В админке появляется поле:
Дополнительные поля в письме-оповещении о заказе
В файле /xsltTpls/mail/emarket/default.xsl в конструкцию <xsl:template match="status_notification_receipt">...</xsl:template> добавляем строку:
Далее в <xsl:template match="neworder_notification">...</xsl:template> выводим все нужные нам поля:
<xsl:apply-templates select="document(concat('udata://emarket/order/',order_id))" mode= "unic"/><br/><br/>
<xsl:variable select="document(concat('uobject://',order_id))//property[@name='customer_id']/value/item/@id" name="customer1"/>
<xsl:text>Имя: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$customer1))//property[@name='fname']/value" />
<br /><br />
<xsl:text>Фамилия: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$customer1))//property[@name='lname']/value" />
<br /><br />
<xsl:text>Отчество: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$customer1))//property[@name='father_name']/value" />
<br /><br />
<xsl:text>E-mail: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$customer1))//property[@name='email']/value" />
<br /><br />
<xsl:text>Телефон: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$customer1))//property[@name='phone']/value" />
<br /><br />
<xsl:text>Адрес доставки: </xsl:text>
<br /><br />
<xsl:variable select="document(concat('uobject://',order_id))//property[@name='delivery_address']/value/item/@id" name="delivery1"/>
<xsl:text>Страна: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='country']/value" />
<br /><br />
<xsl:text>Регион: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='region']/value" />
<br /><br />
<xsl:text>Город: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='city']/value" />
<br /><br />
<xsl:text>Улица: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='street']/value" />
<br /><br />
<xsl:text>Дом: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='house']/value" />
<br /><br />
<xsl:text>Квартира: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='flat']/value" />
<br /><br />
<xsl:text>Комментарий: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='order_comments']/value" />
и добавляем сам шаблон, перед </xsl:stylesheet>
<div class="order">
<hr/>
<xsl:apply-templates select="items/item" mode = "lin"/>
<hr/>
<p>Всего товаров: <xsl:value-of select="summary/amount" /> шт.</p>
<p>На сумму: <xsl:value-of select="summary/price" /><xsl:value-of select="summary/price/@suffix" />. </p>
</div>
</xsl:template>
<xsl:template match="udata//item" mode= "lin">
<p><a href="{page/@link}"><xsl:value-of select="@name"/></a></p>
<p>Цена: <xsl:value-of select="price"/> <xsl:value-of select="price/@suffix" />.
Количество: <xsl:value-of select="amount"/> шт.
<xsl:value-of select="document(concat('upage://',page/@id))/udata//property[@name='prefix']/value"/>
</p>
</xsl:template>
В файл /xsltTpls/sys-tpls/emarket-mail.xsl в <xsl:template match="item" mode="order">...</xsl:template> приблизительно в строку 76 добавляем:
Вот что получилось: