Получит id товаров в заказе minishop2 Никто не помогает!

Дополнение: minishop2

Здравствуйте, помогите с 1 вопросом:

как получить id товаров в заказе и вывести их в чанке.

Я в чанк tpl.msOrder.success.custom добавил такой скрипт:

('send', {
	'sz': 'order',
	'custom': {
		??: '[[+cart_count]]', //- тут нужно получить id Товаров в заказе Но cart_count - получаю кол-во товаров в заказе
		??: '[[+id]]', // - тут получаю id Самого заказа
		??: '[[+cart_cost]]' // - тут получаю Сумму заказа
	}
допустим 4 товара в корзине, то должно получится вот так:
{
	'sz': 'order',
	'custom': {
		19: 'ID-1товара', //- тут нужно получить id 1 товара в заказе
		19: 'ID-2товара', //- тут нужно получить id 2 товара в заказе
		19: 'ID-3товара', //- тут нужно получить id 3 товара в заказе
		19: 'ID-4товара', //- тут нужно получить id 4 товара в заказе
		44: '1458', // - тут получаю id Самого заказа
		45: '365 666' // - тут получаю Сумму заказа
	}
использую minishop2

как вывести id товара?…
26 октября 2016, 12:55    umi   
0    486 0

Комментарии (7)

  1. Petr Golovatyy 27 октября 2016, 03:23 # 0
    А что находится у Вас в чанке tpl.msGetOrder?
    1. umi 27 октября 2016, 17:32 # 0
      У меня есть чанк
      tpl.msGetOrder.row

      <tr>
      	<td class="image"><img src="[[++site_url]][[+thumb:default=`[[++assets_url]]components/minishop2/img/web/ms2_small.png`]]" /></td>
      	<td class="title">[[+link:isnot=``:then=`<a href="[[+link]]">[[+name]]</a>`:else=`[[+name]]`]]
      		<small><i>[[!printPlaceholders]]</i></small>
      	</td>
      	<td class="count">[[+count]] [[%ms2_frontend_count_unit]]</td>
      	<td class="weight">[[+weight]] [[%ms2_frontend_weight_unit]]</td>
      	<td class="price">[[+price]] [[%ms2_frontend_currency]]</td>
      </tr>
      
      <!--minishop2_option.color [[%ms2_frontend_color]]: [[+option.color]];-->
      <!--minishop2_option.size [[%ms2_frontend_size]]: [[+option.size]];-->
      
      
      и чанк
      tpl.msGetOrder.row.custom

      
      <!--tr>
      	<td class="image"><img src="[[++site_url]][[+thumb:default=`[[++assets_url]]components/minishop2/img/web/ms2_small.png`]]" /></td>
      	<td class="title">[[+link:isnot=``:then=`<a href="[[+link]]">[[+name]]</a>`:else=`[[+name]]`]]
      		<small><i>[[!printPlaceholders]]</i></small>
      	</td>
      	<td class="count">[[+count]] [[%ms2_frontend_count_unit]]</td>
      	<td class="weight">[[+weight]] [[%ms2_frontend_weight_unit]]</td>
      	<td class="price">[[+price]] [[%ms2_frontend_currency]]</td>
      </tr-->
      <td class="tb-number-mob">[[+idx]]</td>
          <td>
          <div class="tb-img item-img">
              <img src="[[+thumb:default=`[[++assets_url]]components/minishop2/img/web/ms2_small.png`]]" alt="[[+pagetitle]]"/>
          </div>
          <div class="tb-count-mob">
              [[+count]] шт.
          </div>
          <div class="tb-info">
              [[+link:isnot=``:then=`<a href="[[+link]]">[[+name]]</a>`:else=`[[+name]]`]]
              [[!printPlaceholders]]
          </div>
          </td>
          <td class="tb-count">
              [[+count]] шт.
          </td>
          <td class="tb-weight"><span>[[+weight]] кг.</span></td>
          <td class="tb-price"><span>[[+price]] руб.</span><span>[[+price]] руб. <i class="fa fa-rub" aria-hidden="true"></i></span></td>
          
      </tr>
      <!--minishop2_option.color [[%ms2_frontend_color]]: [[+option.color]];-->
      <!--minishop2_option.size [[%ms2_frontend_size]]: [[+option.size]];-->
      
      
      
      1. Petr Golovatyy 27 октября 2016, 17:57 # 0
        Интересно. А версия minishop какая?
        1. umi 27 октября 2016, 18:23 # 0
          2.1.8-pl3
          1. Petr Golovatyy 27 октября 2016, 18:26 # 0
            если Вам в результате нужно получить такое:
            {
            	'sz': 'order',
            	'custom': {
            		19: 'ID-1товара', //- тут нужно получить id 1 товара в заказе
            		19: 'ID-2товара', //- тут нужно получить id 2 товара в заказе
            		19: 'ID-3товара', //- тут нужно получить id 3 товара в заказе
            		19: 'ID-4товара', //- тут нужно получить id 4 товара в заказе
            		44: '1458', // - тут получаю id Самого заказа
            		45: '365 666' // - тут получаю Сумму заказа
            	}
            }
            

            тогда попробуйте вызвать сниппет:
            [[msGetOrder? &tplRow=`chunk.row` &tplOuter=`chunk.outer` &id=`номер_заказа`]]
            chunk.row
            19: '[[+id]]',
            
            chunk.outer
            {
            	'sz': 'order',
            	'custom': {
            			[[+goods]]
            		44: '[[+id]]', // - тут получаю id Самого заказа
            		45: '[[+cart_cost]]' // - тут получаю Сумму заказа
            	}
            }
            
            1. umi 27 октября 2016, 18:43 # 0
              ну вот у меня если, что имеется весь файл tpl.msOrder.success.custom

              [[!msGetOrder?
                  id=`[[+id]]`
                  &tplRow=`tpl.msGetOrder.row.custom`
              ]]
              
              <h3>[[%ms2_frontend_order_success]]</h3>
              
              <div id="msCart">
              
              		<div class="cart-table item-shadow">
                      <table>
                          <tr>
                              <th style="min-width: 524px">Наименование</th>
                              <th style="min-width: 104px;">Количество</th>
                              <th style="min-width: 104px">Вес</th>
                              <th style="min-width: 144px;">Цена</th>
                              
                          </tr>
                          <tr class="tb-total-mob">
                              <td>Итого: <span>3</span> товара на <span>82 475</span> руб.</td>
                          </tr>
                          [[+goods]]
                          
                          <tr class="tb-total">
                              <td><span>Итого:</span></td>
                              <td>[[+cart_count]] шт.</td>
                              <td>[[+cart_weight]] кг.</td>
                              <td><p>[[+cart_cost]] руб.</p></td>
                              
                          </tr>
                          <tr class="tb-total-mob">
                              <td>Итого: <span>[[+cart_count]]</span> товара на <span>[[+cart_cost]]</span> руб.</td>
                          </tr>
                      </table>
                  </div>
              	<h4>[[+delivery_cost:is=`0`:then=`Итого`:else=`Итого, с доставкой`]]: [[+delivery_cost:is=`0`:then=``:else=`[[+cart_cost]] [[%ms2_frontend_currency]]  + [[+delivery_cost]] [[%ms2_frontend_currency]] = `]]<big>[[+cost]]</big> [[%ms2_frontend_currency]]</h4>
              </div>
              
              <script>
              ('send', {
              	'sz': 'order',
              	'custom': {
              		10: '[[+cart_count]]',
              		150: '[[+id]]',
              		151: '[[+cart_cost]]'
              	}
              });
              </script>
              
              
              Если писать [[+goods]] туда где мы получаем id Товара то он мне выводит вообще полную инфу заказа,

              т.е

              Кровать Золотая 9999999$
              Кровать Сероголубая 4654564564564565554$

              И добавляет это в «10», ну и эффект такой же если думаю просто вывести без «10» спереди

              
              ('send', {
              	'sz': 'order',
              	'custom': {
              		10: '[[+goods]]',
              		150: '[[+id]]',
              		151: '[[+cart_cost]]'
              	}
              });
              
              1. Petr Golovatyy 27 октября 2016, 18:56 # 0
                Интересный Вы человек, дублируете вопрос, жалуетесь на то, что никто не помогает, а в итоге не хотите банальным копипастом решить свою задачу, не говоря о том что-бы понять почему приведенный выше код решает Вашу задачу.

                Замените содержимое чанка tpl.msOrder.success.custom на этот код:

                [[!msGetOrder?
                    id=`[[+id]]`
                    &tplRow=`tpl.msGetOrder.row.custom`
                ]]
                
                <h3>[[%ms2_frontend_order_success]]</h3>
                
                <div id="msCart">
                
                		<div class="cart-table item-shadow">
                        <table>
                            <tr>
                                <th style="min-width: 524px">Наименование</th>
                                <th style="min-width: 104px;">Количество</th>
                                <th style="min-width: 104px">Вес</th>
                                <th style="min-width: 144px;">Цена</th>
                                
                            </tr>
                            <tr class="tb-total-mob">
                                <td>Итого: <span>[[+cart_count]]</span> товара на <span>[[+cart_cost]]</span> руб.</td>
                            </tr>
                            [[+goods]]
                            
                            <tr class="tb-total">
                                <td><span>Итого:</span></td>
                                <td>[[+cart_count]] шт.</td>
                                <td>[[+cart_weight]] кг.</td>
                                <td><p>[[+cart_cost]] руб.</p></td>
                                
                            </tr>
                            <tr class="tb-total-mob">
                                <td>Итого: <span>[[+cart_count]]</span> товара на <span>[[+cart_cost]]</span> руб.</td>
                            </tr>
                        </table>
                    </div>
                	<h4>[[+delivery_cost:is=`0`:then=`Итого`:else=`Итого, с доставкой`]]: [[+delivery_cost:is=`0`:then=``:else=`[[+cart_cost]] [[%ms2_frontend_currency]]  + [[+delivery_cost]] [[%ms2_frontend_currency]] = `]]<big>[[+cost]]</big> [[%ms2_frontend_currency]]</h4>
                </div>
                [[!msGetOrder?
                    id=`[[+id]]`
                    &tplRow=`@INLINE 19: '[[+id]]',`
                ]]
                
                <script>
                ('send', {
                	'sz': 'order',
                	'custom': {
                		[[+goods]]
                		10: '[[+cart_count]]',
                		150: '[[+id]]',
                		151: '[[+cart_cost]]'
                	}
                });
                </script>
                
    Вы должны авторизоваться, чтобы оставлять комментарии.