Да, Смарти часто не любит array в чистом виде. Помогает замена на [] {assign var=newpar value=[ "parents" => "187", "depth" => "20", "tpl" => "hit", "useSmarty" => true, "includeTVs" => "image,price,hit", "tvFilters" => json_encode(["vendor" => $modx->resource->pagetitle]) ]}

{snippet name=getProducts params=$newpar parse=true} [«vendor» => $modx->resource->pagetitle]

Топик: GetProduct