Как выводить значения опций в корзине по имени?
В корзине значения опций выводятся следующим образом:
То есть опции выводятся все подряд, через точку с запятой.
Как вывести какую-то конкретную опцию, обратившись к ней по имени? Например только размер.
{$product.options | join : '; '}
То есть опции выводятся все подряд, через точку с запятой.
Как вывести какую-то конкретную опцию, обратившись к ней по имени? Например только размер.
Комментарии: 10
Так должно работать:
{$product.options['size']}
нет, для корзины вот так
{$product['size']}
но перед этим посмотрите, что выдаст пустой tpl <pre>[[!msCart?tpl=``]]</pre>
нет, для корзины вот такДа ладно?
{$product.options['size']} //выведет значение переданной опции
{$product['size']} // выведет "Array"
Да не ладно! У меня
а какой у size «Array»? там тоько значение.
{$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
Да не ладно! У меняЧто там у тебя выводит мне без разницы. Для начала обнови 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
Да ладно? последняя стоит!
Да ладно? последняя стоит!Вот последняя чистая установка:
s22443.h10.modhost.pro
s22443
ooAObTr1Jnhs
Неправильно вывел во втором случае, потому и получил Array. Попробуй так
{$product['option.color']}
{$product['option.size']}
Неправильно вывел во втором случае, потому и получил Array.Я привёл код из твоего же комментария выше, который выводит array, о чём собственно и написал. Причём тут совершенно другой вывод? Если весеннее обострение началось, то нужно лечиться.
На этом закончу этот бессмысленный диалог.
{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}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.