Вопросы

вывод всех опций из категории

Добрый день!

Написал снипет, который должен выбирать все опции из категории. Он запрос делает правильный, но почему то результирующий массив пуст. Хотя если этот же запрос выполнить в phpmyadmin то все нормально выводится

<?php
$q = $modx->newQuery('msOption');
$q->leftJoin('msCategoryOption', 'msCategoryOption', 'msCategoryOption.option_id=msOption.id');
$q->select(array(
    $this->modx->getSelectColumns('msOption', 'msOption'),
    $this->modx->getSelectColumns('msCategoryOption', 'msCategoryOption', '', array('id', 'option_id'),
        true),
));

$q->where(array(
            'msCategoryOption.category_id' => 9,
        ));
        
$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
echo $q->toSQL();


Запрос в итоге —
SELECT `msOption`.`id`, `msOption`.`key`, `msOption`.`caption`, `msOption`.`description`, `msOption`.`measure_unit`, `msOption`.`category`, `msOption`.`type`, `msOption`.`properties`, `msCategoryOption`.`category_id`, `msCategoryOption`.`rank`, `msCategoryOption`.`active`, `msCategoryOption`.`required`, `msCategoryOption`.`value` FROM `modx_ms2_options` AS `msOption` LEFT JOIN `modx_ms2_category_options` `msCategoryOption` ON msCategoryOption.option_id=msOption.id WHERE `msCategoryOption`.`category_id` = '9'
если в phpmyadmin —

Но если сделать print_r($res) — ПУСТО!

Подскажите пожалуйста — в чем ошибся?

Еще выяснилось, что любой запрос к msOption выводит пустой результат, даже такой —
$q = $modx->newQuery('msOption', array('id:>' => 0));
$q->prepare();
$q->stmt->execute();
echo $q->toSQL();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($res as $v) {
	echo $v['key'];
}
результат —

Но прямой запрос — работает!!!
$sql = "SELECT op.*, catop.* FROM `modx_ms2_options` as op LEFT JOIN `modx_ms2_category_options` as catop on op.id = catop.option_id where catop.category_id = 9";
$q = $modx->prepare($sql);
$q->execute();
$res = $q->fetchAll(PDO::FETCH_ASSOC);

foreach ($res as $v) {
	echo $v['key'] . ' | ';
}
Евгений
11 декабря 2018, 19:48
modx.pro
1 222
0

Расшифровка json для вывода числа посетителей из Яндекс.Метрика API

Здравствуйте! Прошу заранее прощения, мягко говоря не профи в программировании.
Spirit_Ninja
11 декабря 2018, 18:51
modx.pro
1
1 534
-1

Вывод изображения в Заказы>Покупки (админка Minishop2)

Всех приветствую.

Первый раз с Minishop. Столкнулся с вопросом: как выводить изображение в окне заказов, а именно в табе «Покупки».

Попробовал в лоб добавить к системной настройке ms2_order_product_fields: product_thumb
Теперь в таблице выводится путь к превью изображения. А как сделать чтобы там было именно изображение?
Алексей
11 декабря 2018, 17:46
modx.pro
3
2 291
+1

Вывод ближайших мероприятий после текущей даты!

Приветствую сообщество!

В общем задача следующего характера.
Требуется организовать вывод ближайших мероприятий от текущей даты.

Что уже есть:
1. ТВ-поле со значением ввода «Дата» и вывода «Текст»
2. Вызов getTickets через феном.

Какие условия требуются:
1. Вывод ресурсов позже текущей даты
2. Вывод только 3-х ресурсов
3. Вывод ресурсов должен быть самый ближний к текущей дате, но не более 3-х

В общем пока писал заметку, прикрутил костыль, не совсем удачный, но какой есть.
Сейчас проверка стоит в самом чанке феномом:
Если текущая дата меньше даты ТВ, то выводить мероприятие.

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

В общем товарищи помогите разобраться в непростом деле!
Andrey
11 декабря 2018, 17:34
modx.pro
774
0

Принудительное разлогинивание пользователя после смены пароля

Всем привет!
Использую Office для ЛК. Хочу после того, как пользователь сменил пароль — принудительно его разлогинивать на всех устройствах.Насколько мне известно, по умолчанию, office позволяет пользователю перемещаться и совершать действия после смены пароля до следующего входа.
Буду благодарен за любой совет и подсказку. Пока думаю о процессоре $modx->runProcessor('/security/logout') и где его вызывать
Ilya Gureshidze
11 декабря 2018, 16:46
modx.pro
2 285
0

Вырезать из url часть

Хочу вырезать часть строки из url «cherdachnaya-lestnicza»
В friendly_alias_restrict_chars_pattern у меня следующее правило
/[\0\x0B\t\n\r\f\a&=+%#<>«»,"~:.`()!₽@\/\?\[\]\{\}\|\^'\\]/
Составил правило но как применить его?
/^(?!cherdachnaya\-lestnicza$)(.*)$/
Roman
11 декабря 2018, 13:28
modx.pro
872
0

Помогите плиз с поиском решения.

Привет всем. Подскажите плиз, как реализовано на этом сайте левое меню «серии» которое листает категории при прокрутке товара. И ещё очень ищу такой же коструктор товара. Готов заплатить за эти аддоны.
Очень жду ответа тут или на +79О574бЗ2З1 whatsapp
ellar.com.ua
Pavel
11 декабря 2018, 09:00
modx.pro
1 021
0

Баг при программной заливке изображений в msGallery

Добрый вечер.
При выполнении следующего кода валятся ошибки «Array ( [0] => Такое изображение уже есть в галерее товара. )»
$products = $modx->getCollection('msProduct');
foreach ($products as $product) {
     $path = MODX_BASE_PATH.'products/'.$product->get('id').'.jpg';
     if(file_exists($path)) {
         $data = [
             'id' => $product->get('id'),
             'file' => $path,
         ];
         $response = $modx->runProcessor('gallery/upload', $data, array('processors_path' => MODX_CORE_PATH.'components/minishop2/processors/mgr/'));
        if ($response->isError()) {
            print_r($response->getAllErrors());
        }
     }
}
Изображения товаров лежат в корне сайта в папке products и имеют вид кодТовара.jpg В галерею загружается только изображение для первого в списке товара, создаются превьюшки, всё как положено. Остальные игнорируются, как будто это изображение где-то в кеше висит.
Артём
11 декабря 2018, 03:06
modx.pro
1 486
0

Как создать и передать опцию товара в корзину MODX?

Всем привет! Реализовал на сайте скрипт на JS для вывода изображения в галерее при выборе пользователем цвета на странице товара. Галерея — Fotorama. Плагин — minishop2

Проблема: необходимо передать в корзину этот атрибут, чтобы пользователь и менеджер видели при заказе, какой цвет они выбрали. Читаю документацию minishop2 и не могу понять, как правильно создать опцию и как её вызвать в кастомном чанке корзины. Код скрипта прилагаю, на сервер уходит информация о цвете, скрин также приложу. Подробнее под катом.
Иван
10 декабря 2018, 19:48
modx.pro
796
0

Размер картинки не изменяется, она постоянно исходного размера в MINISHOP2

Размер картинки не изменяется, она постоянно исходного размера, хотя я написал 350px на 350px в настройках (медия > источник файлов > MS2 Images > редактировать), скриншот:

Вот сам чанк карточки товара


Из-за слишком большого размера картинки сайт плывёт


Это файл tpl.msGallery
Kostya
10 декабря 2018, 19:27
modx.pro
1 039
0