Всего 123 801 комментарий

Александр Туниеков
15 декабря 2022, 16:21
0
Качайте пока тут https://gettables.ru/assets/packages/facetsearch-1.1.15-beta.transport.zip

На модсторе компонент почти прошел модерацию, но есть одно замечание. в магазине не допутимы негативные отзывы о других компонентах. А я как делал facetsearch, потому что достали тупняки с mfilter2, так и написал в сравнении с ним. Теперь уже 3 дня сижу думаю что в описании компонента писать :-(.
Impulse
15 декабря 2022, 10:42
0
Всем привет. У меня обнаружилась такая же проблема, только вот:
1. РДС бара нет
2. Версий PHP переменял несколько раз
3. В других браузерах запускать обновление пытался
4. Конфиг заливал с другого сайта
5. Запускал обновление на 2х хостингах
6. Расширенное обновление тоже пытался сделать

И хоть ты тресни все равно эта чертова ошибка вылазиет. Делаю обновление с 2.6.5 на 2.7.1. Может нашлось у кого иное решение проблемы?
Николай Савин
14 декабря 2022, 20:02
+1
Я понял это по вот такой строчке
\core\src\Revolution\modParser.php
Пространство имен появилось только в MODX3

pdoTools для MODX3 также есть и работает, но там другие классы. Кроме того сервисы в MODX3 вызываются по другому.
Итого вот такой код
$pdo = $modx->getService('pdoTools');
foreach($array as $arr){
    $out .=  $pdo->parseChunk('userChunk', $arr);
}
мы можем преобразовать примерно вот так
use ModxPro\PdoTools\Fetch;
/** @var Fetch $pdoFetch */
$pdoFetch = $modx->services->get(Fetch::class);
foreach($array as $arr){
    $out .=  $pdoFetch->getChunk('userChunk', $arr);
}
Константин Ильин
14 декабря 2022, 19:56
0
Тогда я умываю руки) я даже не подумал что модх3
Константин Ильин
14 декабря 2022, 19:48
0
слишком много подключений — Это означает, что достигнуто максимальное количество клиентов, которые могут быть подключены к серверу. Либо клиенту придется ждать выхода другого клиента, либо администратору придется увеличить максимальное количество разрешенных подключений.

гугл есть
Николай Савин
14 декабря 2022, 19:43
+1
Потому что вы используете MODX3, а код который вам выше показали для MODX2
Ivan
14 декабря 2022, 19:34
0
Так вы можете обратиться в поддержку на сайте modstore и вам там помогут
Pavel
14 декабря 2022, 19:20
0
теперь так…
Fatal error: Uncaught mysqli_sql_exception: Too many connections in...
на эту строку ошибка ведет

$mysqli = new mysqli
Константин Ильин
14 декабря 2022, 19:03
0
memory_limit надо повысить через htaccess или напрямую в php настройках
Pavel
14 декабря 2022, 18:55
0
А почему может быть такая ошибка?

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)
 in \core\src\Revolution\modParser.php on line 151
Константин Ильин
14 декабря 2022, 18:08
0
У вас код просто устанавливает плейсхолдеры последней записи т.к. вы в цикле не сохраняет общий и предыдущий результат
disk.yandex.ru/i/xk1UBRLB8wXLTA
в целом установление плейсхолдеров совсем не нужно.
Ниже код сниппета и чанка, а так же вызов.

<?
// Допустим вы получаете данные через чистый скл как вам подсказал Николай выше или xpdo
// далее по теории такой код, проходимся в цикле и сохраняем спарсеный html в переменную 

// используем while или foreach, мне по душе второй

Сниппет usr
// ранее должен быть получен массив с данными $array в этом же сниппете у вас $fullresult
$out = '';
$pdo = $modx->getService('pdoTools');
foreach($array as $arr){
    $out .=  $pdo->parseChunk('userChunk', $arr);
}
return $out;

Код чанка userChunk пример
<tr>
    <td>{$Department}</td>
    <td>{$phone}</td>
    <td>{$mail}</td>
    ..... и т.д.
</tr>

ну и все, остается только вызывать сниппет на странице
<table>
так {'!usr' | snippet}

или по стандартному [[!usr]]
</table>
по итогу должна вывестись таблица

Ну и совсем простое решение, есть уже готовый сниппет вывода именно пользователей MODX
<?
// pdoTools должен быть установлен
<table>
{'!pdoUsers' | snippet : [
    'tpl' => 'userChunk'
]}
</table>
Вызовете его с пустым tpl и он вам выведет массивы пользователей disk.yandex.ru/i/VVER1xAv2Pn30A
Pavel
14 декабря 2022, 17:59
0
Этот я вариант видел, но не понял, как таким путём вытащить все столбы из таблицы

$dept = $full->Department;
$phone = $full->WorkPhone;
$cellphone = $full->Cellphone;
$name = $full->Name;
$position = $full->Position;
$department = $full->Department;
$mail = $full->Mail;
$id = $full->ID;
Pavel
14 декабря 2022, 17:20
0
Я пытался с xpdo разобраться. К сожалению дошел до такого же результата с выводом только 1 записи
Алексей Шумаев
14 декабря 2022, 16:27
0
Не могу ничего конкретного сказать, нужно провести отладку в данном случае.
У нас на нескольких сайтах вроде всё работает.
Сергей Карпович
14 декабря 2022, 16:25
0
Так я и говорю, в ресурсе поля longtitle и descriprion пустые, а до шаблона все равно не доходит дело.
Алексей Шумаев
14 декабря 2022, 16:16
0
Если установлен приоритет ресурса, то модуль смотрит сначала ресурс.
Если у ресурса есть заполненные поля — берёт информацию оттуда.
Соответственно, до шаблона уже не доходит.
Сергей Карпович
14 декабря 2022, 15:41
0
У меня почему то шаблон не работает, если установить приоритет = Ресурс.
Но при этом поля longtitle и descriprion в ресурсе пустые
Николай Савин
14 декабря 2022, 14:15
+1
Для работы с SQL запросами MODX предусматривает насколько путей.
Самый простой «переходный» вот такой

$sql = 'Тут чистый SQL';
$modx->exec($sql);


Более расширенный вариант

$sql = "SELECT * FROM modx_users WHERE active = 1";
// Вариант 1.
$statement = $modx->query($sql);
$users = $statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($users as $user) {
    print $user['username'] .'
';
}
// Вариант 2. Если не нужно зачитывать данные в массив
foreach ($modx->query($sql) as $user) {
    print $user['username'] .'
';
}
Больше примеров вы можете посмотреть здесь
modzone.ru/blog/2016/02/04/database-queries-using-pdo/

Это то, что касается чистых SQL запросов. Но компоненты и Ядро MODX используют конструктор запросов и XPDO. Это несколько сложнее и требует чтения документации
Pavel
14 декабря 2022, 13:47
0
Задача вывести список людей из бд. Попробую, что вы написали.