Создание CRUD интерфейса вне админки

Приветствую, в этой заметке хочу поделится кейсом по созданию простого интерфейса за пределами админки для управления различными объектами как нативными (пользователи, ресурсы, заказы), так и кастомными, т.е. созданными под конкретный проект. Видео с результатом
Артур Шевченко
26 октября 2024, 21:25
modx.pro
2
471
+7

Как найти где вызывается сниппет?

Всем привет!

Подскажите, пожалуйста, можно ли как-то найти где в шаблонах срабатывает сниппет о котором ругается журнал ошибок?

[2024-10-25 07:20:58] (ERROR @ /core/components/pdotools/model/pdotools/pdotools.class.php: 345) [pdoTools] Could not load snippet «dateAgo»
steve.kon
25 октября 2024, 13:38
modx.pro
126
0

Фильтрация в mFilter2 по модификациям msOptionsPrice2 (с выбранными опциями)

Может кто работал в этом направлении и знает, как сделать вывод не только отфильтрованных товаров, но и сразу с выбранными опциями при фильтрации. В документации к сожалению ни чего не нашел.
Если наглядно то, но что бы при фильтрации цвета выбирались не только нужные товары но и сразу опция,



При mse2_filters_handler_class mse2FiltersHandler вроде как работает выбор, но у меня опции разнятся, так-как при выгрузке есть изменения названия цветов.

При msopFilters перестает работать выбор нужной опции при фильтрации.
Сергей
24 октября 2024, 20:27
modx.pro
40
0

[HolidaysContent] Вывод контента в определённую дату и/или период времени

Всем привет, поступила банальная на первый взгляд задача, выводить в праздничные дни оформление тематическое… Всё бы ничего, просто написать сниппет который проверяет текущую дату и выводит чанк при совпадении… Но как быть с новым годом? Заказчик просит с 20.12 текущего года, по 10.01 соответственно следующего года показывать снег на сайте, тут уже нужно учитывать период, год начала и конца события.
Денис Усманов
24 октября 2024, 15:16
modx.pro
4
1 854
+7

PayPal - оплата картой без входа в аккаунт

Всем доброго времени! Хочу поинтересоваться о платежной системе PayPal для minishop2. На сайте реализован доступ к закрытому контенту по подписке с помощью компонентов Office + miniShop2 + PayAndSee + mspPayPal. Всё работает отлично, но есть некоторые ограничения. Сейчас компонент mspPayPal использует устаревший метод интеграции NVP/SOAP, который редиректит пользователей на сайт paypal и вынуждает напрямую заходить в аккаунт, что не очень удобно для пользователей у которых например нет аккаунта или которые хотят просто оплатить картой.

Я понимаю, что концептуально способ оплаты mspPayPal и был рассчитан на оплату именно на кошелёк в paypal, но на сайте PayPal обратил внимание, что есть другие «современные методы интеграции», которые комбинируют варианты оплаты. Можно оплатить просто картой без входа в аккаунт, либо через сам paypal.



Не занимался ли кто-то этим вопросом? Может у кого-то есть наработки с такой интеграцией? Или может где-то есть готовое решение?
Андрей Чаплыгин
24 октября 2024, 10:56
modx.pro
103
0

Не сохраняется значение tv параметра

Всем привет!

У меня проблема с сохранением значения tv параметра. Вроде сохраняется, но затем после перезагрузки страницы слетает. Никто с таким не сталкивался? Что это может быть?

Выглядит сие чудо вот так — disk.yandex.ru/i/2HbTzdeSO6_boA

Стоит тип «Список» и возможные значения " ||В магазине||На складе ". Пробовал другие типы. Все аналогично.

Если это важно, то тут еще есть самописный плагин импорта, который автоматически обновляет это поле.

Он меняет значение этого поля так:

$db->update(['value' => $val], 'modx_site_tmplvar_contentvalues', 'id='. $tv_id);
В $val соответсвенно значение «В магазине», «На складе» или пустое. Скриптом изменяется нормально.

Проблема, что вручную не поправить если нужно.
Николай Артамонов
23 октября 2024, 20:11
modx.pro
94
0

Проблема сортировки по числовым значениям опции

Есть опция товара, которая имеет числовые значения. Требуется сортировать товары по этой опции.
Я присоединил таблицу с опцией, сделал сортировку, но сортировка работает как текстовая:
идут значения 6.38, 5.5, потом 24.3, 22.1 и далее по уменьшению.
не могу понять как в сортировке указать, что бы сортировалось как числа…
Сергей Карпович
22 октября 2024, 17:47
modx.pro
95
0

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

Написал сниппет usergenDisplaySnippet который выводит данные из базы данных. Теперь мне этот список нужно разбить постранично. Получается у каждого пользователя в личном кабинете отображается этот список. Скачал пакет getPage и getResources и попытался интегрировать вывод таким образом. Но страница долго грузится и в итоге ничего не выдает. Может что то неправильно делаю
Вызов на странице
[[!getPage?
&element=`usergenDisplaySnippet`
&limit=`5`
&tpl=`usergenRowTpl`
&pageVarKey=`page`
&totalVar=`total`
]]
<?php
<?php
$userid = $modx->user->get('id');

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

// Выполняем запрос к таблице mydatabase , выбираем необходимые данные
$sql = "SELECT chr, pos, rsid, ref, alt FROM mydatabase WHERE userid = :userid";
$stmt = $modx->prepare($sql);
$stmt->bindValue(':userid', $userid, PDO::PARAM_INT);
$stmt->execute();
$userData = $stmt->fetchAll(PDO::FETCH_ASSOC);

if ($userData) {
    $output = '<h3>Данные из таблицы mydatabase :</h3>';
    $output .= '<table border="1">
                <thead>
                    <tr>
                        <th>CHR</th>
                        <th>POS</th>
                        <th>RSID</th>
                        <th>REF</th>
                        <th>ALT</th>
                    </tr>
                </thead>
                <tbody>';
    
    // Перебираем данные и формируем строки таблицы
    foreach ($userData as $row) {
        $output .= '<tr>';
        $output .= '<td>' . htmlspecialchars($row['chr']) . '</td>';
        $output .= '<td>' . htmlspecialchars($row['pos']) . '</td>';
        $output .= '<td>' . htmlspecialchars($row['rsid']) . '</td>';
        $output .= '<td>' . htmlspecialchars($row['ref']) . '</td>';
        $output .= '<td>' . htmlspecialchars($row['alt']) . '</td>';
        $output .= '</tr>';
    }
    
    $output .= '</tbody></table>';
} else {
    $output = '<p>Данных в таблице mydatabase не найдено.</p>';
}

return $output;
?>
Андре Владимирович
21 октября 2024, 22:29
modx.pro
106
0

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

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

SEOSuite - после установки!

Иногда бывает после установки seo Suite, мета теги типа canonical & robots не появляются у документа сразу, а только после его сохранения, и чтобы не заходить в каждый документ и пере сохранять, написал небольшой сниппет.
vectorserver
16 октября 2024, 16:05
modx.pro
1
1 456
+3