Алексей Соин

Алексей Соин

С нами с 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

Как и где искать причину этих ошибок?
Алексей Соин
02 июня 2016, 07:57
modx.pro
1 205
0

Помогите составить 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.
Алексей Соин
21 апреля 2016, 08:37
modx.pro
1 309
0

Вывод количества материалов в категории

Требуется вывести количество материалов в каждой из категории. Сейчас это работает следующим образом:
$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 и данный запрос выполняется очень долго, как можно упростить и ускорить данный код?
Алексей Соин
18 марта 2016, 11:01
modx.pro
1 102
+1

Как вывести значение 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;
Алексей Соин
26 февраля 2016, 12:52
modx.pro
969
0

Вывод количества всех просмотров ресурсов

Добрый день! С помощью данного сниппета пытаюсь выводить количество всех просмотров ресурсов добавленных пользователем. Проблема в том, что ресурсов более 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);
Алексей Соин
10 февраля 2016, 11:17
modx.pro
1
1 025
0