Как выводить значения опций в корзине по имени?

В корзине значения опций выводятся следующим образом:
{$product.options | join : '; '}

То есть опции выводятся все подряд, через точку с запятой.
Как вывести какую-то конкретную опцию, обратившись к ней по имени? Например только размер.
Филипп
02 февраля 2018, 17:33
modx.pro
2 393
0

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

Андрей
03 февраля 2018, 12:31
+1
Так должно работать:
{$product.options['size']}
    Вадим
    12 мая 2020, 15:11
    1
    -1
    нет, для корзины вот так
    {$product['size']}
    но перед этим посмотрите, что выдаст пустой tpl
    <pre>[[!msCart?tpl=``]]</pre>
      Андрей
      12 мая 2020, 15:46
      -1
      нет, для корзины вот так
      Да ладно?

      {$product.options['size']} //выведет значение переданной опции
      
      {$product['size']} // выведет "Array"
        Вадим
        12 мая 2020, 17:07
        -1
        Да не ладно! У меня
        {$product} // выводит "Array"

        а какой у size «Array»? там тоько значение.
        [products] => Array
                (
                    [0] => Array
                        (
                            [id] => 1675
                            [type] => document
                            [contentType] => text/html
                            [published] => 1
                            [pub_date] => 0
                            [unpub_date] => 0
                            [parent] => 1674
                            [isfolder] => 0
                            [template] => 13
                            [menuindex] => 0
                            [searchable] => 1
                            [cacheable] => 1
                            [createdby] => 7
                            [createdon] => 1579882431
                            [editedby] => 7
                            [editedon] => 1589180491
                            [deleted] => 0
                            [deletedon] => 0
                            [deletedby] => 0
                            [publishedon] => 1579882380
                            [publishedby] => 7
                            [menutitle] => 
                            [donthit] => 0
                            [privateweb] => 0
                            [privatemgr] => 0
                            [content_dispo] => 0
                            [hidemenu] => 0
                            [class_key] => msProduct
                            [context_key] => web
                            [content_type] => 9
                            [uri] => dubravushka/estate-dubravushka
                            [uri_override] => 0
                            [hide_children_in_tree] => 0
                            [show_in_tree] => 1
                            [article] => 1000
                            [price] => 8
                            [old_price] => 0
                            [vendor] => 0
                            [made_in] => 
                            [new] => 0
                            [popular] => 0
                            [favorite] => 0
                            [tags] => 
                            [color] => 
                            [size] => 
                            [source] => 4
                            [key] => ca47b50a35448189fc669
                            [count] => 1
                            [cost] => 8
          Андрей
          12 мая 2020, 17:32
          -1
          Да не ладно! У меня
          Что там у тебя выводит мне без разницы. Для начала обнови minishop до актуальной версии.

          [miniShop2] Версия 2.4.11

          Ранее опция в зависимости от кол-ва значений представляла из себя строку, либо массив. Кто то не бился с тем что опции не выводятся. Вообщем теперь опция всегда массив.
          [article] => 12345
          [price] => 1 500
          [old_price] => 1 700
          [weight] => 0
          [image] => /assets/images/products/152/3cgu2qnkira.jpg
          [thumb] => /assets/images/products/152/transparent/3cgu2qnkira.png
          [vendor] => 1
          [made_in] => 
          [new] => 1
          [popular] => 1
          [favorite] => 1
          [tags] => 
          [color] => Array
          	(
          		[0] => Зелёный
          		[1] => Синий
          		[2] => Красный
          	)
          
          [size] => Array
          	(
          		[0] => 1000
          		[1] => 1500
          		[2] => 2000
          	)
          
          [source] => 2
            Вадим
            12 мая 2020, 18:20
            -1
            Да ладно? последняя стоит!
              Андрей
              12 мая 2020, 18:57
              -1
              Да ладно? последняя стоит!
              Вот последняя чистая установка:



              s22443.h10.modhost.pro
              s22443
              ooAObTr1Jnhs
                Вадим
                12 мая 2020, 20:30
                -1
                Неправильно вывел во втором случае, потому и получил Array. Попробуй так
                {$product['option.color']}
                {$product['option.size']}
                  Андрей
                  12 мая 2020, 20:48
                  -1
                  Неправильно вывел во втором случае, потому и получил Array.
                  Я привёл код из твоего же комментария выше, который выводит array, о чём собственно и написал. Причём тут совершенно другой вывод? Если весеннее обострение началось, то нужно лечиться.

                  На этом закончу этот бессмысленный диалог.
    Володя
    03 февраля 2018, 19:14
    1
    +1
    {foreach $product.options as $key => $option}
        {if $key in ['modification','modifications','msal']}{continue}{/if}
                                
        {set $caption = isset($product[$key~'.caption'])?$product[$key~'.caption']:('ms2_product_'~$key)|lexicon}
        {set $value = is_array($option)?($option|join:'; '):$option}
        
        {$caption} - {$value}
    {/foreach}
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      10