Перестроение вложенного массива в SMARTY

#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}
 

Я просто не могу указать имя папки, чтобы определить, в какой папке находится артикул. Итак, происходит то, что он удаляет все экземпляры артикула, независимо от того, в какой папке он находится.