minishop2

Кто ни будь делал в minishop2 отправку в письме менеджеру Excel файл с заказом? Есть пример (https://modxguru.ru/blog/solutions/prikreplyaem-v-pismo-menedzheru-excel-fayl-s-dannymi-zakaza.html) (подключено PHPExcel последней версии), но не работает на modx 2.8.7 с PHP 7.4 с nginx и при apache с php 7.2.
Сергей Самусев
29 сентября 2024, 00:13
modx.pro
87
0

Не срабатывают статичные плагины

Добрый День! Заметил что статичные плагины не срабатывают в modx, почему-то полностью игнорируется вызов статичного плагина на событии OnWebPageInit. Я использую плагин на этом событии для обработки Ajax запросов к серверу.

Еще заметил, что в целом статичные плагины ведут себя в modx как-то странно, они то срабатывают то нет и не могу понять зависимости, кто сталкивался с этим?
Вячеслав Варов
25 сентября 2024, 08:14
modx.pro
82
0

Изменения работы Sendit

1 1 000
Всех приветствую!

Нужна помощь ASAP.
На компоненте Sendit реализована авторизация на сайте через получение кода по email.
Всё работает как надо, но письмо компонент отправляет с noreply@имя_сайта.ру
Из-за этого, email с кодом стабильно попадает юзерам в спам из-за отсутствия SPF. Нужно, чтобы отправлялось через доменную почту (на которой есть SPF. DKIM, DMARC)

Напишите, пожалуйста, в telegram
steve.kon
22 сентября 2024, 13:47
modx.pro
75
0

Как работает кнопка "Экспорт в пакет" в конфигурациях MIGX?

НЕ пойму как работает эта кнопка, я создал пакет, в нем есть папка migxconfigs, в ней создал файл с название конфигурации migxconfigs/page_blocks.config.js

однако если делать импорт из пакета — конфигурация обновляется (а точнее создается новая вместо старой и старая переименовывается (что не очень удобно поскольку в если делать через multiple form tabs то там идет привяза к идентификатор (порядковому номеру) а не названию.)

Нажатие кнопки экспорт в пакет ничего не делает, а вроде как должна перезаписывать файл на сервере
Вячеслав Варов
23 сентября 2024, 12:03
modx.pro
73
0

Исключить выбранные ресурсы mFilter2

Добрый день!

Прошу помощь в настройке mFilter2. Задача, наоборот исключить ресурсы которые выбраны в фильтре и показать все, которые не попадают в запрос.

Например, имеются 3 товара, у каждого (в поле msoption) задана дата или несколько дат:

Товар 1 — [15.10.2024, 25.10.2024]
Товар 2 — [25.10.2024 ]
Товар 3 — [31.10.2024]

Пользователь в запросе, указывает начальную и конечную дату (например msoption|date_close=25.10.2024,30.10.2024), соответственно из выборки должны исключиться Товар 1 и Товар 2, т.к. содержат число 25.10.2024.

Расширяем класс фильтрации

Roman
14 октября 2024, 14:40
modx.pro
71
0

Доработать сайт компании

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

На данный момент есть следующие задачи:
docs.google.com/document/d/13K8Dir4gdtlG4blyvg1IXGtjHHXmhSsXdLhVQqkCOh0/edit

В будущем, будет ТЗ по доработке страниц блога. Дизайн в процессе.

Правки на сайт вносятся через гитхаб

В отклике пишите цену и сроки выполнения.

Контакты для связи ТГ t.me/tolstenkoaa
Александр Толстенко
16 октября 2024, 11:16
modx.pro
42
0

msPriceList добавить колонки с ценой из компонента msSalePrice

Подскажите как добавить колонки в прайс дополнения msPriceList из компонента msSalePrice дополнительная цена от количества товаров, какие переменные нужно поставить в настройки колонки чтобы выводилось кол-во шт. и цена от их количества?
maxgmm
Вчера в 10:42
modx.pro
18
0

Интегрироватьsql запрос для вывода getPage

Написал сниппет usergenDisplaySnippet который выводит данные из базы данных. Теперь мне этот список нужно разбить постранично. Получается у каждого пользователя в личном кабинете отображается этот список. Скачал пакет getPage и getResources и попытался интегрировать вывод таким образом. Но страница долго грузится и в итоге ничего не выдает. Может что то неправильно делаю

<?php
// Сниппет для вывода данных из таблицы Mydatabase для текущего пользователя в MODX Revo с использованием getPage

// Получаем текущего пользователя MODX
$userid = $modx->user->get('id');

if (!$userid) {
    echo "Ошибка: Пользователь не авторизован.";
    return;
}

// Параметры для постраничной навигации
$limit = 10; // Количество записей на странице
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$offset = ($page - 1) * $limit;

// Получение данных из таблицы Mydatabase с ограничением по количеству записей
$sql = "SELECT one,two,thre FROM Mydatabase WHERE userid = :userid LIMIT :limit OFFSET :offset";
$stmt = $modx->prepare($sql);
$stmt->bindValue(':userid', $userid, PDO::PARAM_INT);
$stmt->bindValue(':limit', $limit, PDO::PARAM_INT);
$stmt->bindValue(':offset', $offset, PDO::PARAM_INT);
$stmt->execute();
$userData = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Подсчет общего количества записей для постраничной навигации
$countSql = "SELECT COUNT(*) FROM Mydatabase WHERE userid = :userid";
$countStmt = $modx->prepare($countSql);
$countStmt->bindValue(':userid', $userid, PDO::PARAM_INT);
$countStmt->execute();
$totalRecords = $countStmt->fetchColumn();

if ($userData) {
    echo '<h3>Данные из таблицы Mydatabase :</h3>';
    echo '<table border="1">
            <tr>
                <th>one</th>
                <th>two</th>
                <th>thre</th>
            </tr>';
    foreach ($userData as $row) {
        echo '<tr>';
        echo '<td>' . htmlspecialchars($row['one']) . '</td>';
        echo '<td>' . htmlspecialchars($row['two']) . '</td>';
        echo '<td>' . htmlspecialchars($row['thre']) . '</td>';
        echo '</tr>';
    }
    echo '</table>';

    // Постраничная навигация с помощью getPage
    $pageNav = $modx->runSnippet('getPage', [
        'element' => 'usergenDisplaySnippet', // Имя текущего сниппета для повторного вызова
        'total' => $totalRecords,
        'limit' => $limit,
        'page' => $page,
        'pageNavVar' => 'pageNav',
        'tplPage' => '@INLINE <a href="[[~[[*id]]]]?page=[[+page]]">[[+page]]</a>',
        'tplPageCurrent' => '@INLINE <span>[[+page]]</span>',
        'tplPageNext' => '@INLINE <a href="[[~[[*id]]]]?page=[[+page]]">Вперед</a>',
        'tplPagePrev' => '@INLINE <a href="[[~[[*id]]]]?page=[[+page]]">Назад</a>'
    ]);
    echo '<div class="pagination">' . $pageNav . '</div>';
} else {
    echo '<p>Данных в таблице Mydatabase не найдено.</p>';
}
?>
Андре Владимирович
7 часов назад
modx.pro
8
0