Алексей Соин
С нами с 10 февраля 2016; Место в рейтинге пользователей: #60Как отловить данные ошибки {set} and {add}?
Добрый день! В логах полно ошибок вида:
[2016-06-02 10:52:30] (ERROR @ /home/s2759/www/core/components/pdotools/model/pdotools/pdotools.class.php: 853) Unexpected token '{' in expression in 7070523814e42604b9b08401513612c6 line 501, near '{{' < — there
[2016-06-02 10:52:30] (ERROR @ /home/s2759/www/core/components/pdotools/model/pdotools/pdotools.class.php: 853) {set} and {add} accept only variable in 640dc64beaec8f82a6f631829681d42f line 1205
Как и где искать причину этих ошибок?
[2016-06-02 10:52:30] (ERROR @ /home/s2759/www/core/components/pdotools/model/pdotools/pdotools.class.php: 853) Unexpected token '{' in expression in 7070523814e42604b9b08401513612c6 line 501, near '{{' < — there
[2016-06-02 10:52:30] (ERROR @ /home/s2759/www/core/components/pdotools/model/pdotools/pdotools.class.php: 853) {set} and {add} accept only variable in 640dc64beaec8f82a6f631829681d42f line 1205
Как и где искать причину этих ошибок?
Помогите составить where запрос migx
В полях migx содержаться даты начала и окончания показа элементов, требуется составить where запрос который выводил бы изображение только в определенный промежуток дат, или изображения у которых не указана дата начала и окончания показа. Например в migx полях даты начала datefrom указано 19-04-2016 00:00:00 а дата окончания dateto указана 25-04-2016 00:00:00 в данный промежуток дней требуется показывать изображение.
[[!getImageList?
&tvname=`partners`
&docid=`90,111,32`
&limit=`3`
&tpl=`tpl_partners_head`
&randomize=`1`
&where=`{"datefrom:<=": "[[!dateToTime? &date=`now_time`]]","dateto:>": "[[!dateToTime? &date=`now_time`]]" OR "datefrom:<=": "","dateto:>": ""}`
]]
Так-же не получается реализовать рандомную выборку из трех migx ресурсов, getImageList подхватывает только первый id. Вывод количества материалов в категории
Требуется вывести количество материалов в каждой из категории. Сейчас это работает следующим образом:
$ids_category = array(0,16,5,26,21,429,431,6487,426,28,22,30);
for($j=0; $j < count($ids_category); $j++){
$numrec = 'totalRec';
$output = $modx->runSnippet('getTickets', array(
'parents' => $ids_category[$j],
'totalVar' => $numrec,
'tpl' => '@INLINE ',
'user' => 35,
'showUnpublished' => '1'
));
if($modx->getPlaceholder($numrec)){
$statistic_arrays[$j] = $ids_category[$j].": ".$modx->getPlaceholder($numrec);
}
}
Проблема в том, что материалов более 2000 и данный запрос выполняется очень долго, как можно упростить и ускорить данный код? Как вывести значение totalVar через runSnippet?
Ранее выводил значение в чанке используя переменную $numrec, теперь потребовалось переписать код используя runSnippet. Как можно по другому подсчитать количество записей определенного раздела?
$output = $modx->runSnippet('Ticket', array(
'class_key' => 'Ticket',
array(
'publishedon:>='=> '1456088400',
'publishedon:<' => '1456606800'
),
'parents' => 16,
'totalVar' => $numrec,
'tpl' => '@INLINE',
'createdby:IN' => $userid,
'showUnpublished' => 1,
'deleted' => 0
));
echo $numrec;
Вывод количества всех просмотров ресурсов
Добрый день! С помощью данного сниппета пытаюсь выводить количество всех просмотров ресурсов добавленных пользователем. Проблема в том, что ресурсов более 1000, и из-за этого данный сниппет выполняется очень долго. Как можно ускорить выполнения данного сниппета? Или есть способ реализации по проще?
$output_alluser = $modx->runSnippet('pdoUsers',array(
'groups' => 'manager_main',
'tpl' => '@INLINE {{+id}},'
));
$idmanager= isset($idmanager) ? $idmanager: $output_alluser;
$output = $modx->runSnippet('getTickets',array(
'user' => $idmanager,
'showUnpublished' => '1',
'parents' => '0',
'tpl' => '@INLINE {{+views}},',
'limit' => '0',
'fastMode' => '1',
));
$output = substr($output, 0, -1);
$str_views = split(",", $output);
echo array_sum($str_views);