21 апреля 2025, 20:43 ты проверял переключается ли контекст? Вопросы / Хочу реализовать мультиязычность и мультидоменность - на русском сайт в RU, на английском COM... 14 0
21 апреля 2025, 20:26 Плагин на какое событие? Код плагина покажи Вопросы / Хочу реализовать мультиязычность и мультидоменность - на русском сайт в RU, на английском COM... 14 0
21 апреля 2025, 20:16 Как ты выводишь содержимое? Вопросы / Хочу реализовать мультиязычность и мультидоменность - на русском сайт в RU, на английском COM... 14 0
21 апреля 2025, 19:50 Настроил контекстыКак именно настроил? Указал site_url, site_start, http_host? Плагин для переключения контекстов написал? Вопросы / Хочу реализовать мультиязычность и мультидоменность - на русском сайт в RU, на английском COM... 14 0
21 апреля 2025, 14:20 Я же готовый пример скинул — пользуйся. Могу лишь добавить, что $c->select() и все другие методы можно вызывать сколько угодно раз. Вопросы / Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 29 0
20 апреля 2025, 20:59 Ага. Собственно в одном из первых ответов я точно так же сделал. Вопросы / Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 29 0
20 апреля 2025, 20:50 я думал, это уже на мое усмотрение, ан нетКак говориться: учи матчасть))) Ты можешь сам задать алиас, но в этом случае тебе так же самостоятельно нужно задать условия для соединения таблиц $q = $modx->newQuery('msOrder'); $q->leftJoin('msOrderProduct', 'Product', 'msOrder.id=Product.order_id AND Product.product_id = 190'); $q->select('Product.options as options'); $q->where(['msOrder.id' => 604]); $q->prepare(); echo $q->toSQL(); $q->stmt->execute(); $r= $q->stmt->fetchAll(PDO::FETCH_ASSOC); print_r($r); Вопросы / Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 29 0
20 апреля 2025, 16:54 смогу найти как создан классНе очень понимаю, что ты хочешь найти, но могу с уверенностью заявить класс создан руками человека))) А в схеме можно посмотреть соответствие таблиц и классов, чтобы можно было писать запросы через XPDO. Вопросы / Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 29 0
20 апреля 2025, 16:52 Наверное такой поход имеет место быть, правда я бы с удовольствием узнал подробности, как это работает. Вопросы / Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 29 0
20 апреля 2025, 15:20 leftJoin это как раз таки присоединение таблицы, но вот какой? у минишопа нет такой таблицы msOrderAddress…Конечно нет, msOrderAddress это название класса. Работать напрямую с БД не очень удобно, поэтому Modx использует XPDO для формирования запросов в БД, а чтобы это было возможно нужно описать какие поля есть в таблице, какой тип данных в них надо записывать и т.д. Для описания используют классы модели, и каждому классу соответствует xml схема. Посмотреть xml схему можно в папке компонента core/components/minishop2/model/schema Вопросы / Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 29 0
20 апреля 2025, 15:11 А я думал, я уже погружаюсьНе, ты не погружаешься в ExtJs, кажется ты его ещё не видел))) Это js фреймворк на котором работает админка modx, т.е. тебе мало получить данные из БД, тебе нужно прокинуть эти данные в js, который отрисовывает админку. Есть вероятность, что прокинуть данные можно плагином, а вот модифицировать процессор через плагин вряд ли возможно. Если же ты будешь править исходники, то автоматически останешься без обновлений компонента, даже случайная переустановка снесёт все изменения. В общем, я бы так не делал. К тому же, за 6 лет работы с Modx, я сам в ExtJs не погружался, слава богу Modx позволяет делать страницы в админке со своими скриптами, для простой логики можно сделать страницы с помощью migx. Вопросы / Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 29 0
20 апреля 2025, 11:07 Если ты не готов погружаться в в недра ExtJs будет сложно. К тому же вывести в списке заказов список товаров для каждого заказа можно только в виде строки с разделителем или в виде json. Я бы сделал свой интерфейс вместо стандартного если нужна сложная кастомная логика. Вопросы / Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 29 0
19 апреля 2025, 11:56 Если речь про админку, то мне вообще непонятно, что ты пытаешься сделать и зачем? В админке есть интерфейс работы с заказами и в этом интерфейсе можно посмотреть перечень товаров в конкретном заказе. Вопросы / Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 29 0
17 апреля 2025, 17:49 Очевидно ты используешь источник файлов, поэтому в админке путь прописан от источника, хочешь полный путь, откажись от источника файлов. Вопросы / Не открываются загруженные файлы пишет страница не найдена 2 0
16 апреля 2025, 22:39 Я не видел весь твой код, но думаю что $c это объект класса xPDOQuery, который является конструктором SQL-запросов. А $c->leftJoin(), $c->select() это всё вызовы методов конструктора запросов. После все манипуляций получается обычный SQL, который и отправляется в БД. Если упрощать, то когда ты делаешь leftJoin одна таблица ставится рядом с другой так, чтобы совпали поля, которые ты указываешь в условии ON (или передаешь третьим параметром в метод leftJoin). Таким образом получается новая таблица, но с бОльшим количеством столбцов, при этом количество строк будет таким же как и в первой таблице. Например, если у тебя в первой таблице одна запись, а во второй две, в итоговой таблице будет одна запись. Именно поэтому ты не можешь просто взять и присоединить все товары, тебе нужно сгруппировать их по id заказа, упаковать их в одну строку и только потом присоединять. вот так можно получить товары для заказа с id = 594 <?php $q = $this->modx->newQuery('msOrder'); $q->leftJoin('msOrderProduct', 'Product', 'msOrder.id=Product.order_id'); $select = <<<EOD CONCAT( '[', GROUP_CONCAT( DISTINCT CONCAT( '{"name":"', Product.name, '", "count":"', Product.count, '", "price":"', Product.price, '"}' ) SEPARATOR ',' ), ']' ) EOD; $q->select('msOrder.id as order_id, :products AS products'); $q->where(['msOrder.id' => 594]); $q->groupby('msOrder.id'); $q->prepare(); $sql = $q->toSQL(); $sql = str_replace(':products', $select,$sql); $stmt = $modx->prepare($sql); if($stmt->execute()){ $result = $stmt->fetchAll(PDO::FETCH_KEY_PAIR); print_r($result); } Вопросы / Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 29 +2
16 апреля 2025, 11:21 Но с другой — это сложнее: нужно учить, какие атрибуты куда вставлять.однозначно сложнее, поэтому так делаю только я))) Новые дополнения и их версии / PageBlocks 2.6.0. Настройка меню MODX и гибкое управление страницей пользователя 16 +1
16 апреля 2025, 09:53 По сути, добавлять атрибуты в вёрстку — это то же самое, что вручную расставлять плейсхолдеры.Не совсем. При натягивании совы на глобус верстки нужно расставить плейсхолдеры и записать значение плейсхолдера в админке. А перед этим нужно создать поля для этих значений. А тут ты расставил атрибуты, запустил скрипт и плейсхолдеры расставились, поля создались, значения записались. Другое дело, что migx не лучший способ хранения данных, поэтому твой подход безусловно круче. Как работает мультиязычность? Допустим я перевел блок на три языка, как на фронте переключить язык? Новые дополнения и их версии / PageBlocks 2.6.0. Настройка меню MODX и гибкое управление страницей пользователя 16 +1
15 апреля 2025, 23:09 Скажи пожалуйста, есть вариант получить ключ бесплатно для локальных экспериментов? По описанию очень крутая штука, если удастся реализовать автоматическое заполнение контентом напрямую из вёрстки, выкину нафиг свой MigxPageConfigurator))) Новые дополнения и их версии / PageBlocks 2.6.0. Настройка меню MODX и гибкое управление страницей пользователя 16 0
14 апреля 2025, 22:34 Modx тут не причём, дело в строке, вероятно там есть символы, которые ты не видишь. Вопросы / Здравствуйте! Первый раз такое вижу, у слеша, не 1 символ в строке, а 9!! Как это делает MODX 2 0
14 апреля 2025, 10:14 Требуется вывести перечень товаров, которые содержаться в заказе.В админке он и так выводится, а чтобы с фронта запустить процессор нужно дать права пользователю. Второй момент ты хочешь присоединить к одной строке много строк, для этого нужно завернуть много строк в 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 Вопросы / Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 29 +1
UiCMPGenerator дополнение для создания пакетов Ближе к сентябрю, основная загвоздка это создание нормальной документации и видео обзора, а так пакет как бы уже готов
Личный кабинет на Sendit - не удается сбросить пароль Хм, в массиве поле extended приходит пустым, временного пароля там нет. Сам тестовый юзер изначально был зареген в группу Users с правами доступа в личный кабинет (по обычной инстр...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
MiniShop3 - Не выводятся товары дополнительных категорий @SYAN ваша указанная проблема исправлена еще до версии 1.2.3 @Павлик Мышкин завел: github.com/modx-pro/MiniShop3/issues/480 github.com/modx-pro/MiniShop3/issues/481Исправим в б...
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
msImportExport не сохраняет родителя по умолчанию Компонент не понимает кирилические домены при загрузку фото. пример: Error download. Url : https://антаресдвери.рф/upload/iblock/a50/a50b2ef45305a3c18f6e298f1e134880.jpg. Message...
Если упрощать, то когда ты делаешь leftJoin одна таблица ставится рядом с другой так, чтобы совпали поля, которые ты указываешь в условии ON (или передаешь третьим параметром в метод leftJoin). Таким образом получается новая таблица, но с бОльшим количеством столбцов, при этом количество строк будет таким же как и в первой таблице. Например, если у тебя в первой таблице одна запись, а во второй две, в итоговой таблице будет одна запись. Именно поэтому ты не можешь просто взять и присоединить все товары, тебе нужно сгруппировать их по id заказа, упаковать их в одну строку и только потом присоединять. вот так можно получить товары для заказа с id = 594
совы на глобусверстки нужно расставить плейсхолдеры и записать значение плейсхолдера в админке. А перед этим нужно создать поля для этих значений. А тут ты расставил атрибуты, запустил скрипт и плейсхолдеры расставились, поля создались, значения записались. Другое дело, что migx не лучший способ хранения данных, поэтому твой подход безусловно круче.Как работает мультиязычность? Допустим я перевел блок на три языка, как на фронте переключить язык?
Второй момент ты хочешь присоединить к одной строке много строк, для этого нужно завернуть много строк в json. Примерно так
Если MySQL повыше можно использовать спец функции для создания json