msTopProducts - fenom ?
Как написать данный вызов на fenom?
[[!msProducts?
&loadModels=`msTopProducts`
&sortby=`{"msTopProduct.rank":"DESC", "msProduct.menuindex":"ASC"}`
&leftJoin=`{
"msTopProduct" : {
"class" : "msTopProduct",
"alias" : "msTopProduct",
"on" : ["msTopProduct.product_id = msProduct.id", "msTopProduct.category_id = [[*id]] "]
}
}`]]
Комментарии: 7
если быть более конкретным, то меня интересует вот эта строка
"on" : ["msTopProduct.product_id = msProduct.id", "msTopProduct.category_id = [[*id]] "]
вот этот id[[*id]]
как его переписать в этой конструкции на феном, т.к. если так оставить, то не работает.
Если заменить синтаксис с [[*id]] на {$_modx->resource.id} то не работает?
если так [[*id]], то вот это
[pdoTools] Error 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[[*id]] ) WHERE ( `msProduct`.`class_key` = 'msProduct' AND `msProduct`.`pare' at line 1
если так {$_modx->resource.id}, то это[pdoTools] Error 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '>resource.id} ) WHERE ( `msProduct`.`class_key` = 'msProduct' AND `msProduct`' at line 1
{'msProducts' | snippet : [
'loadModels' => 'msTopProducts',
'sortby' => '{"msTopProduct.rank":"DESC", "msProduct.menuindex":"ASC"}',
'leftJoin' => '{
"msTopProduct" : {
"class" : "msTopProduct",
"alias" : "msTopProduct",
"on" : ["msTopProduct.product_id = msProduct.id", "msTopProduct.category_id = {$_modx->resource.id} "]
}
}',
'parents' => $_modx->resource.id,
'sortby' => '{"menuindex":"ASC"}',
'limit' => 0,
'tpl' => '@FILE chunks/blocks/product_item.tpl',
'where' => '{"class_key":"msProduct"}',
]}
Надо законтачить символом ~, что бы соединить строчку и переменную, по моему вот как то так должно выглядеть
["msTopProduct.product_id = msProduct.id", "msTopProduct.category_id = " ' ~ $_modx->resource.id ~ ' "]
и у вас идет sortby и потом опять sortby, соедените в один параметр
Большое спасибо. Сработало, вот что в итоге получилось.
{'msProducts' | snippet : [
'loadModels' => 'msTopProducts',
'parents' => $_modx->resource.id,
'sortby' => '{"msTopProduct.rank":"DESC", "msProduct.menuindex":"ASC"}',
'leftJoin' => '{
"msTopProduct" : {
"class" : "msTopProduct",
"alias" : "msTopProduct",
"on" : ["msTopProduct.product_id = msProduct.id", "msTopProduct.category_id = ' ~ $_modx->resource.id ~ ' "]
}
}',
'limit' => 0,
'tpl' => '@FILE chunks/blocks/product_item.tpl',
'where' => '{"class_key":"msProduct"}',
]}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.