#php #arrays #smarty
Вопрос:
Я работаю с вложенным массивом внутри шаблона SMARTY. То, что у меня есть, — это набор папок с любимыми тканями внутри, идентифицированными по номеру артикула. Массив настроен следующим образом: {"001":{"name":"Test 1","fabrics":{"CC":["5708611004","5708611012","5708611014","5708611016","5708611018","5708611020"]}}}
001-индекс, тест 1-название папки, CC-марка, а цифры после этого-артикулы внутри этой папки.
Что я пытаюсь сделать, так это извлечь имя папки из этого массива. Я дошел до того, что вытащил артикулы. То, что я делаю, — это извлекаю этот массив из кода json. {$old = json_decode($current_user.folders)}
.
Мой код до сих пор выглядит так.
{$newSkus = []}
{foreach $folder->fabrics as $brand => $skus}
{foreach $skus as $sku}
{$keep = true}
{foreach $smarty.post.param as $delSku}
{if strcmp($delSku, $sku) == 0}
{$keep = false}
{/if}
{/foreach}
{if $keep}
{$newSkus[$brand][] = $sku}
{/if}
{/foreach}
{/foreach}
{print_r($newSkus)}
{$fabrics = $newSkus}
{$temp = $folder}
{print_r($temp)}
{$temp['fabrics'] = $fabrics}
{print_r($temp)}
{$new[$index] = $temp}
{/foreach}
Я просто не могу указать имя папки, чтобы определить, в какой папке находится артикул. Итак, происходит то, что он удаляет все экземпляры артикула, независимо от того, в какой папке он находится.