Получит id товаров в заказе 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 товара?…
umi
umi
26 октября 2016, 09:55
modx.pro
2 231
0

Комментарии: 7

PG
PG
27 октября 2016, 03:23
0
А что находится у Вас в чанке tpl.msGetOrder?
    umi
    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]];-->
      PG
      PG
      27 октября 2016, 17:57
      0
      Интересно. А версия minishop какая?
        umi
        umi
        27 октября 2016, 18:23
        0
        2.1.8-pl3
          PG
          PG
          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]]' // - тут получаю Сумму заказа
          	}
          }
            umi
            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]]'
            	}
            });
              PG
              PG
              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>
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    7