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.
Не срабатывают статичные плагины
Добрый День! Заметил что статичные плагины не срабатывают в modx, почему-то полностью игнорируется вызов статичного плагина на событии OnWebPageInit. Я использую плагин на этом событии для обработки Ajax запросов к серверу.
Еще заметил, что в целом статичные плагины ведут себя в modx как-то странно, они то срабатывают то нет и не могу понять зависимости, кто сталкивался с этим?
Еще заметил, что в целом статичные плагины ведут себя в modx как-то странно, они то срабатывают то нет и не могу понять зависимости, кто сталкивался с этим?
Изменения работы Sendit
1 1 000
Всех приветствую!
Нужна помощь ASAP.
На компоненте Sendit реализована авторизация на сайте через получение кода по email.
Всё работает как надо, но письмо компонент отправляет с noreply@имя_сайта.ру
Из-за этого, email с кодом стабильно попадает юзерам в спам из-за отсутствия SPF. Нужно, чтобы отправлялось через доменную почту (на которой есть SPF. DKIM, DMARC)
Напишите, пожалуйста, в telegram
Нужна помощь ASAP.
На компоненте Sendit реализована авторизация на сайте через получение кода по email.
Всё работает как надо, но письмо компонент отправляет с noreply@имя_сайта.ру
Из-за этого, email с кодом стабильно попадает юзерам в спам из-за отсутствия SPF. Нужно, чтобы отправлялось через доменную почту (на которой есть SPF. DKIM, DMARC)
Напишите, пожалуйста, в telegram
Как работает кнопка "Экспорт в пакет" в конфигурациях MIGX?
НЕ пойму как работает эта кнопка, я создал пакет, в нем есть папка migxconfigs, в ней создал файл с название конфигурации migxconfigs/page_blocks.config.js
однако если делать импорт из пакета — конфигурация обновляется (а точнее создается новая вместо старой и старая переименовывается (что не очень удобно поскольку в если делать через multiple form tabs то там идет привяза к идентификатор (порядковому номеру) а не названию.)
Нажатие кнопки экспорт в пакет ничего не делает, а вроде как должна перезаписывать файл на сервере
однако если делать импорт из пакета — конфигурация обновляется (а точнее создается новая вместо старой и старая переименовывается (что не очень удобно поскольку в если делать через multiple form tabs то там идет привяза к идентификатор (порядковому номеру) а не названию.)
Нажатие кнопки экспорт в пакет ничего не делает, а вроде как должна перезаписывать файл на сервере
Исключить выбранные ресурсы 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.
Расширяем класс фильтрации
Прошу помощь в настройке 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.
Расширяем класс фильтрации
Доработать сайт компании
Добрый день. Ищу прорагрммиста под проект
По проекту переодически есть разные работы. Сайт давно вырос с простого сайта услуг в большой и сложный по функционалу проект
На данный момент есть следующие задачи:
docs.google.com/document/d/13K8Dir4gdtlG4blyvg1IXGtjHHXmhSsXdLhVQqkCOh0/edit
В будущем, будет ТЗ по доработке страниц блога. Дизайн в процессе.
Правки на сайт вносятся через гитхаб
В отклике пишите цену и сроки выполнения.
Контакты для связи ТГ t.me/tolstenkoaa
По проекту переодически есть разные работы. Сайт давно вырос с простого сайта услуг в большой и сложный по функционалу проект
На данный момент есть следующие задачи:
docs.google.com/document/d/13K8Dir4gdtlG4blyvg1IXGtjHHXmhSsXdLhVQqkCOh0/edit
В будущем, будет ТЗ по доработке страниц блога. Дизайн в процессе.
Правки на сайт вносятся через гитхаб
В отклике пишите цену и сроки выполнения.
Контакты для связи ТГ t.me/tolstenkoaa
msPriceList добавить колонки с ценой из компонента msSalePrice
Подскажите как добавить колонки в прайс дополнения msPriceList из компонента msSalePrice дополнительная цена от количества товаров, какие переменные нужно поставить в настройки колонки чтобы выводилось кол-во шт. и цена от их количества?
Интегрировать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>';
}
?>