Тема: Шаблон "commoditycheck" Товарный чек

Здравствуйте.

Мне необходимо вывести две цены (цена по которой оформлен заказ) и отдельной колонкой другой вид цены.

Например в заказе фактическая цена продажи, а во-второй колонке базовая оптовая цена.
Это нужно для сборщиков заказа.

Как это сделать?

Повысить оценку Понизить оценку

Re: Шаблон "commoditycheck" Товарный чек

{$product->getCost('Название нужной цены')}

3 Отредактировано Андрей (10.04.2019 13:43:54)

Re: Шаблон "commoditycheck" Товарный чек

Закусило Александр пишет:
{$product->getCost('Название нужной цены')}

Шаблон orderform.tpl

<tbody>
                {foreach from=$order_data.items key=n item=item}
                {assign var=product value=$products[$n].product}
                <tr data-n="{$n}" class="item">
                    <td>
                        <b>{$item.cartitem.title}</b>
                        <br>
                        {$multioffers_values = unserialize($item.cartitem.multioffers)}
                        {if !empty($multioffers_values)}
                            <div class="parameters">
                                {$offer = array()}
                                {foreach $multioffers_values as $mo_value}
                                    {$offer[] = "{$mo_value.title}: {$mo_value.value}"}
                                {/foreach}
                                {implode(', &nbsp; ', $offer)}
                            </div>
                        {elseif !empty($item.cartitem.model)}
                            {t}Модель{/t}: {$item.cartitem.model}
                        {/if}
                    </td>
                    <td>{$item.cartitem.barcode}</td>
                    <td>{$item.single_cost}</td>
                    <td>{$product->getCost('Оптовая цена')}</td>

                    <td>{$item.cartitem.amount}</td>
                </tr>
                {/foreach}
            </tbody>

Значение {$item.single_cost} и {$product->getCost('Оптовая цена')} - одинаковое выводит

Цена выводится "как в заказе", в обоих случаях

Повысить оценку Понизить оценку

4 Отредактировано Андрей (10.04.2019 15:14:23)

Re: Шаблон "commoditycheck" Товарный чек

Вот часть содержимого "{$product|print_r}"

Array ( [g8x3jtldma] => Array ( [product] => Catalog\Model\Orm\Product Object ( [fast_mark_offers_use:protected] => [fast_mark_multioffers_use:protected] => [fast_mark_virtual_multioffers_use:protected] => [keep_update_prod_cat:protected] => 1 [keep_spec_dirs:protected] => [cache_visible_property:protected] => [cache_amount_step:protected] => [cache_warehouse_stick:protected] => [user_cost:protected] => 98.10 [stock:protected] => [full_stock:protected] => [offer_xcost:protected] => Array ( ) [dir_alias_cache:protected] => Array ( ) [calculate_user_cost:protected] => Array ( [4] => 90.00 [5] => 140.00 [12] => 140.00 [13] => 90.00 [14] => 97.00 [15] => 108.00 [16] => 112.50 [17] => 122.00 [19] => 87.00 [20] => 92.70 [21] => 98.10 ) [files:protected] => [dimensions_object:protected] => [_values:protected] => Array ( [id] => 14576 [site_id] =>

Конкретно интерсует, как вывести число calculate_user_cost - id цены 4

Повысить оценку Понизить оценку

Re: Шаблон "commoditycheck" Товарный чек

Дело всё в том, что в заказе в product переменной храниться объект товара, который уже с прописанной ему ценой (OrderItem превращается в заполненный Product). И это цена в типе объекта присваивается всем ценам, т.к. товар с финальной ценой.
Вам нужно подгрузить этот товар снова в новую переменную, например по id.

{static_call var=new_product callback=['\Catalog\Model\Orm\Product', 'loadByWhere'] params=[['id' => $product.id]]}
{$new_product->getCost('Нужная цена')}