GetProduct

есть твшка vendor — производитель который селектом вибираеться в товаре эта твешка забивается вот от сюда и если мы перейдем на какого производителя то должны увидеть список товаров данного производителя на сайте используется shopkeeper и getproduct как сделать выборку? получается что в параметре tvFilters мы должны прировнять vendor = имя текущего документа он же и есть имя производителя вот пытаюсь сделать выборку так

{assign var=newpar value=[
				    "parents"   => "187",
				    "depth"   => "20",
				    "tpl"       => "hit",
				    "useSmarty" => true,
				    "includeTVs" => "image,price,hit",
				    "tvFilters"  => '{"vendor":взять как то имя текущего документа}'
				    
				]}

				{snippet name=getProducts params=$newpar parse=true}

Подскажите как сделать?

Comments

То есть, если у вас это поиск товаров на этой странице производителя, то работайте с текущим объектом документа $modx->resource. Чтобы увидеть все поля этого объекта, выведите вот так:

{print_r($modx->resource->toArray())}
{assign var=newpar value=[
				    "parents"   => "187",
				    "depth"   => "20",
				    "tpl"       => "hit",
				    "useSmarty" => true,
				    "includeTVs" => "image,price,hit",
				    "tvFilters"  => '{"vendor":$modx->resource->pagetitle}'
				    
				]}

{snippet name=getProducts params=$newpar parse=true}

не работает

Правильно. Потому что у вас программерские ковычки. Попробуйте так:

{assign var=newpar value=[
     "parents"   => "187",
     "depth"   => "20",
     "tpl"       => "hit",
     "useSmarty" => true,
     "includeTVs" => "image,price,hit",
     "tvFilters"  => json_encode(array("vendor" => $modx->resource->pagetitle))
                                    
]}

{snippet name=getProducts params=$newpar parse=true}
Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "/home/dvershin/rezzzz.com/format/core/components/modxsite/templates/default/tpl/proizvod.tpl" on line 22 "	 "tvFilters" => json_encode(array("vendor" => $modx->resource->pagetitle))" - Unexpected " => ", expected one of: ")"' in /home/dvershin/rezzzz.com/format/core/model/smarty/sysplugins/smarty_internal_templatecompilerbase.php:423 Stack trace: #0 /home/dvershin/rezzzz.com/format/core/model/smarty/sysplugins/smarty_internal_templateparser.php(2798): Smarty_Internal_TemplateCompilerBase->trigger_template_error() #1 /home/dvershin/rezzzz.com/format/core/model/smarty/sysplugins/smarty_internal_templateparser.php(2863): Smarty_Internal_Templateparser->yy_syntax_error(30, ' => ') #2 /home/dvershin/rezzzz.com/format/core/model/smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(51): Smarty_Internal_Templateparser->doParse(30, ' => ') #3 /home/dvershin/rezzzz.com/format/core/model/ in /home/dvershin/rezzzz.com/format/core/model/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 423

вот ошибку выдает

Да, Смарти часто не любит 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]