Yurij Finiv

Yurij Finiv

Был в сети 25 июля 2023, 22:37
Заказы не принимаю
Код работает у вас 'field-news' подключен на 198 ресурс просто заменить 'docid' => 1, на 'docid' => 198, или 'docid' => $modx->resource->get('id'),
Зависит как использовать

И не забывайте что решения сохранять Новости в MIGX плохое, так как со временем через ограничения MySQL получите ошибку что поле превысило количество символов.

Решение создать отдельный ресурс Новости. В нем каталоги если нужно. И тогда каждый ресурс новости вывести всё через pdoPage.

P.S И делать сайт з большим количеством TV плохое решение, так как большая нагрузка.
function validateDate($date, $format = 'd m Y H:i:s')
{
    $d = DateTime::createFromFormat($format, $date);
    return $d && $d->format($format) == $date;
}
$where = '';
if(validateDate($_GET['date'], 'Y')) {
    $where = ['date:=' => $_GET['date']];
}

if ($where){
    $where = json_encode($where);
}

$params = array(
	'docid' => 1,
	'tvname' => 'field-news',
	'where' => $where
	);
return $modx->runSnippet('getImageList',$params);
Допустил ошибку в коде? Переписал код чтобы можно было добавлять свои фильтры
Я не работал с getImageList всегда пишу свой, так как не нравится решение. По идее должно работать если передать параметр ?date=2018, в вашем примере много ошибок, нужно знать сначала какие параметры будут, потом собирать с ними массив, и тогда переводить в json, date в каком формате сохранен «2018»?
ресурс 1?

Сделайте на pdoResources и не замораживайтесь решение с ним отличное.
Не проще найти человека, который сделает, а не создавать кучу одного и того ж вопроса. Доведите до конца одну тему, а то не удобно бегать и собирать части кода по всех

function validateDate($date, $format = 'd m Y H:i:s')
{
    $d = DateTime::createFromFormat($format, $date);
    return $d && $d->format($format) == $date;
}

if(validateDate($_GET['date'], 'Y')) {
    $where = json_encode(['date:='.$_GET['date']]);
}else{
    $where = '';
}

$params = array(
	'docid' => 1,
	'tvname' => 'field-news',
	'where' => $where
	);
return $modx->runSnippet('getImageList',$params);
Могут быть ошибки так как код написал не используя IDE
Сделал pull-request, что решает проблему с 500 ошибкой, но полностью проблема уйдет после установки pdoTools. Если он не установлен отключает подключение сторонних компонентов из за чего была 500 ошибка, и появляется запись в логах.
Для правильного размера в Linux

core/components/modsizecontrol/model/modsizecontrol.class.php

//$io = popen('/usr/bin/du -sb '. $dir, 'r');//sb
$io = popen('/usr/bin/du -sk '. $dir, 'r');
if ($io !== false) {
//$totalSize = intval(fgets($io, 80));
$totalSize = intval(fgets($io, 80)) * 1024;
Локальные сервера не использую, так как много проблем с Windows 10. На Linux проще, имея знания, настроить для разработки. Раньше использовал ukraine.com.ua как хостинг для разработки,. Уже 2 месяца как наш сервак под MODX. Можно использовать modhost.pro со сменой версий пхп не скажу как там. И MODX не поддерживает PHP 5.3. Давай здесь не флудить, напиши в лс или в месенджер. Бо у тебя закрыт лс.
Ну тогда подозреваю проблема в настройках Openserver. Ещё вариант проблемы неверные права на сервере но здесь вам не поможет. С openserver не работаю так как больше времени уходит на настройку сервера, так как время от времени бывают сбои.

Ещё как вариант попробовать очистить кеш.