Не могу подставить параметр в where
Хочу сделать выборку товаров добавленных за последний месяц.
Что не так?
Заранее спасибо!
{var $timeago = '@FILE snippets/timeago.php' | snippet }
{'!pdoPage' | snippet : [
'element' => 'msProducts',
'tpl' => '@FILE chunks/tovarPreview4row.tpl',
'parents' => 2,
'limit' => 48,
'where' => '{"publishedon:>=": $timeago }',
'sortby' => '{"publishedon": "desc"}',
'includeThumbs' => '140x140',
'showLog' => 1
]}
Снипет timeago.php:<?php
return strtotime('-1 month');
Не срабатывает. Просто игнорируется publishedon в where. Что не так?
Заранее спасибо!
Комментарии: 3
Попробуй так
{var $timeago = '@FILE snippets/timeago.php' | snippet }
{'!pdoPage' | snippet : [
'element' => 'msProducts',
'tpl' => '@FILE chunks/tovarPreview4row.tpl',
'parents' => 2,
'limit' => 48,
'where' => ["publishedon:>=" => $timeago] ,
'sortby' => '{"publishedon": "desc"}',
'includeThumbs' => '140x140',
'showLog' => 1
]}
Да, так работает, спасибо!
Но where вроде не кешируется если указан массив. Поэтому я хотел в JSON формате.
Но where вроде не кешируется если указан массив. Поэтому я хотел в JSON формате.
он и не кешируется, в первом варианте вы передаете where как строку и переменная $timeago попадает туда в виде
во втором варианте все отработает как и положенно так как передали массив.
$timeago
это некорректный json который отбрасывается.во втором варианте все отработает как и положенно так как передали массив.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.