Всего 125 094 комментария

Артур Шевченко
15 апреля 2025, 23:09
0
Скажи пожалуйста, есть вариант получить ключ бесплатно для локальных экспериментов? По описанию очень крутая штука, если удастся реализовать автоматическое заполнение контентом напрямую из вёрстки, выкину нафиг свой MigxPageConfigurator)))
Дима Касаткин
15 апреля 2025, 22:56
+1
Тсс :) Давай потише, а то сбегутся сейчас фанаты MIGX и запинают нас за то, что пытаемся отправить в прошлое эпоху foreach-ей и fromJSON-ов в шаблонах и чанках.

Так-то программирование в чанках с начала времён (появления php-шаблонизаторов) считалось плохой идеей, но MIGX так располагает, что про это многие забыли. Просто fenom даёт слишком много свободы, а MOGX как бы располагал к тому, чтобы этой свободой злоупотреблять…

Так что ты, @Aleksandr Huz тот самый наш герой, который показывает, что мир может быть другим, и код — красивым!
Вы вообще видели этот синтаксис в примерах «Режим разработки» из поста? Анбиливабл эвесамнесс какой-то! Слов нет как круто...
Aleksandr Huz
15 апреля 2025, 13:09
+1
Во-первых, MIGX не умеет создавать вкладки, панели и, тем более, кастомные поля у ресурсов или пользователей.
Во-вторых, настройка таблиц в PageBlocks куда мощнее: данные сохраняются не в JSON, а в нормальной структуре БД, что даёт гибкость для фильтрации, поиска и реализации сложной логики.
А ещё в PageBlocks есть блоки, синхронизация блоков между ресурсами, встроенный роутинг и многое другое.

Поэтому PageBlocks на порядок мощнее MIGX — это уже полноценный фреймворк внутри MODX.
Henk Everts
15 апреля 2025, 08:56
+2
Хорошо, что ты об этом заговорил. Мы написали короткий блог на английском языке на сайте Sterc: sterc.com/en/knowledge/blog/modx-ai-hackathon-2

Если у тебя появятся вопросы — не стесняйся, задавай!

Спасибо ChatGPT за перевод. ;-)
Дима Касаткин
15 апреля 2025, 02:05
+1
Вау! Это уже в некотором смысле закрывает часть функционала MIGX, который порядком поднадоел, и к тому же не располагает к написанию красивого и качественного кода (к сожалению). С этим обновленным PageBlock будет ещё один повод вместо MIGX выбрать для создания CMP (custom manager page) в админке именно его.

Автору — спасибо! Будем пробовать при случае!
Дима Касаткин
15 апреля 2025, 01:58
0
Как прошло мероприятие? Получилось ли прикрыть какие-то issue или подготовить PR в рамках прошедшего хакатона?
@Henk Everts поделитесь, пожалуйста!
Артур Шевченко
14 апреля 2025, 22:34
0
Modx тут не причём, дело в строке, вероятно там есть символы, которые ты не видишь.
Артур Шевченко
14 апреля 2025, 10:14
+1
Требуется вывести перечень товаров, которые содержаться в заказе.
В админке он и так выводится, а чтобы с фронта запустить процессор нужно дать права пользователю.

Второй момент ты хочешь присоединить к одной строке много строк, для этого нужно завернуть много строк в json. Примерно так
$q = $this->modx->newQuery('modResource');
$q->leftJoin('msCategoryMember', 'Member', 'Product.id=Member.product_id');
$q->leftJoin(
            'modResource',
            'Category',
            'Member.category_id=Category.id AND Category.class_key="msCategory" AND Category.id != Product.parent AND Category.published = 1'
        );
        $q->select(':categoriesSelect AS categories');
        $this->replacements[':categoriesSelect'] = <<<EOD
        CONCAT(
                '[', GROUP_CONCAT(
                    DISTINCT CONCAT(
                        '{"alias":"', Category.alias, '", "rid":"', Category.id, '", "menuindex":"', Category.menuindex, '", "template":"', Category.template, '"}'
                    )
                    SEPARATOR ','
                ), ']'
            )
EOD;
Если MySQL повыше можно использовать спец функции для создания json
Владислав
14 апреля 2025, 09:50
0
Добрый день! Добавьте, пожалуйста поле «Дата публикации» с возможность ручной правки. По-умолчанию можно его заполнять текущей датой.
Alexey
14 апреля 2025, 08:05
+1
msOrdermsOrderProduct — опечатка?

Если минишоп выдает пустую таблицу, то — возможно — в логах админки есть что-нибудь?
Дмитрий
13 апреля 2025, 20:14
0
Спасибо, опять сумел разобраться с вашей подачи!=)
Наумов Алексей
11 апреля 2025, 16:48
0
Вроде не в preHooks, а просто в hooks (для Formit точно).
500 ошибка — надо смотреть логи сервера…
Dima
11 апреля 2025, 14:26
0
Была моя же проблема в неправильном расчете.
Я получал моментальный/текущий расчет, но не учитывал дальнейшую обработку уже, скорее, в момент заказа.

Немного подправил класс доставки и использовал не текущую стоимость $cart, а именно передаваемую $cost
<?php

if(!class_exists('msDeliveryInterface')) {
    require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/msdeliveryhandler.class.php';
}
class msDeliveryHandler_cdekwidget extends msDeliveryHandler implements msDeliveryInterface {
    public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0.0) {
        session_start();
        $delivery_cost = $_SESSION['cdek_delivery_price'] ?? 0; 
        return $cost + $delivery_cost;
    }
}
Максим
11 апреля 2025, 10:38
0
А какие манипуляции с css ты делаешь для решения этой проблемы? У меня в шаблоне инлайн-стиль height:100 стоит, но скрипт перебивает его в 0.
Максим
11 апреля 2025, 10:36
0
Подтверждаю, такая же проблема. Именно с модалками через AjaxForm. Если капча НЕ в модалке, то 2 сразу отображаются корректно
Максим
11 апреля 2025, 10:35
0
У меня не работает с Login. Когда сниппет возвращает false, страница сыпется в 500-ю ошибку (в консоле на вкладе Сеть). Login 1.9.12. К логам сервера нет доступа, в логах MODX ничего нет.
Я же правильно понимаю, что название сниппета нужно добавлять в preHooks? Больше ведь ничего не надо делать? (ну кроме вызова сниппет в html-форме)
Дмитрий
10 апреля 2025, 17:19
0
Ух, спасибо за ваш перст указующий, уже второй раз помогаете! Пойду изучать мат часть!
Евгений Webinmd
10 апреля 2025, 11:45
1
+1
Рендер находится тут github.com/modx-pro/miniShop2/blob/master/assets/components/minishop2/js/mgr/misc/ms2.utils.js#L15

Но это вам придется менять исходники. Если делать правильно, то надо расширять эту таблицу и выводить свои поля. Это чуть сложнее. Пример подобного расширения таблиц описан тут modx.pro/howto/24899