Вопросы

MIGX настройка вывода в админке(не выводит используя this.renderChunk)

Добрый день
Уже запутался с выводом в админке:
Есть migx поле

[
  {
    "caption": "Достижения",
    "fields": [
      {
        "field": "progressId",
        "caption": "Достижения",
        "inputTV": "progress"
      }
    ]
  }
]

progress — обычное поле «Список ресурсов»

[ {"header": "достижения", "dataIndex": "progressId"} ]

Сейчас при добавлении в админке выводятся id добавленных progress. Как сделать вывод pagetitle у ресурсов добавленных по id?

Пробовал по разному выводить через renderChunk, но даже id вывести не получается, в админке выводит пустые строки:
[
{"header": "достижения", "dataIndex": "qqq","renderer":"this.renderChunk","renderchunktpl":"[[+progressId]]"}
]

Как я понимаю конечный вариант должен быть примерно таким:
[
{"header": "достижения", "dataIndex": "progressName","renderer":"this.renderChunk","renderchunktpl":"[[#[[+progressId]].pagetitle]]"}
]
Максим
15 мая 2020, 11:36
modx.pro
2 157
0

Синхронизация с МойСклад через mSync - дробное количество товара в заказе

Добрый день!

Вопрос автору компонента или тем, кто использовал mSync для синхронизации с МойСклад.
Сайт — интернет-магазин морепродуктов. Количество товара на сайте может быть дробным. Часть товаров считается штуками, часть — килограммами. И количество может быть, например, 0,4 кг. Клиенту нужно настроить синхронизацию и выгрузку заказов с сайта.

Вопрос: возможен ли учет товара дробными числами? И возможно ли как-то передавать единицу измерения количества, или она задается одна для всех товаров?

Реально ли все это на стороне компонента и на стороне МойСклад?

Очень прошу дать ответ.
Svetlana S
15 мая 2020, 10:53
modx.pro
1 104
0

[[*РЕШЕНО]] msProductOptions сортировка

Сортировка работает следующим образом. Есть id опций, так получилось что не id 1, 2. Начинается с 3.
При выводе на сайте сортировка начинается с id 21 и далее по порядку. А id 3,4 и до двадцатого выводятся в конце. Из-за чего вывод на сайте выглядит нелогичным. Как можно это исправить?

[[!msProductOptions?
&tpl=`prodPage_option-tpl`
&ignoreOptions=`availability`
&groups=`Опции для карточки`
&sortby=`id`
&sortdir=`DESC`
]]
Скрины





Можно как-то в ручную сортировать? Сейчас поля sortby и sortdir вообще никакой роли на вывод не играют. Ставь хоть asc хоть desc выводит одинаково.
Юрий
15 мая 2020, 08:23
modx.pro
1 691
0

Смена языка чтобы ajaxsnippet заработал.

Доброго времени суток всему комьюнити modx.
Столкнулся вот с такой дилеммой.
Как сделать так чтобы заработал плагин ajaxsnippet.
Когда я отключаю $modx->cacheManager->refresh(); в коде который отвечает за смену языка
Пример кода:
<?php
if($modx->context->get('key')!="mgr"){
        switch($_REQUEST['cultureKey']){
            case 'uk':
                $modx->setOption('cultureKey', 'uk');
                $modx->cacheManager->refresh();
                break;
            case 'ru':
                $modx->setOption('cultureKey', 'ru');
                $modx->cacheManager->refresh();
                break;
            default:
                $modx->setOption('cultureKey', 'uk');
                break;
        }
    }
Все работает, но не работает смена языка.
Смена языка реализована с помощью cultureKey, а именно [[++cultureKey:is=`uk`:then=`123123123`]]. Мы смотрим что у нас в cultureKey и в зависимости что там работает мультиязычность.
Важное замечание!
Пользователь авторизован.
Сергій
15 мая 2020, 06:25
modx.pro
676
0

Как создать ресурс из formit и вставить в tv картинку?

Задача такая. Хочу через фронтенд заполнять форму formit, а после отправки данной формы, чтобы создавался новый ресурс и в него записывалась картинка, соответственно поле имеет формат Изображение.
Как реализовать данный хук для formit подскажите, пожалуйста. Про это есть пост, но у меня не работает данный функционал.
Никита Серов
14 мая 2020, 19:01
modx.pro
993
0

Убрать товары с ценой "0". Minishop2.

Привет.

Можно ли как-то отключить показ товаров с нулевой ценой в Minishop2?
Anton_red
14 мая 2020, 15:59
modx.pro
1 215
0

Работа с корзиной minishop через Api

Подскажите пожалуйста, как программно через api в корзину minishop2 положить товар по артикулу?
Batys
14 мая 2020, 13:55
modx.pro
3
1 842
+1

Время в modX и minishop2

Подскажите пожалуйста, можно ли сделать так чтобы время создания заказов показывалось не серверное, а то которое я укажу? Не нашел настроек часового пояса. server_offset_time указывал, ни какой реакции
Algirdas
14 мая 2020, 13:49
modx.pro
981
0

Как снизить нагрузку при подсчете кол-во в pdoMenu дочерних ресурсов?

Всем известно, что есть
[[+children]]
при включенной настройке
&countChildren=`1`
Но
[[+children]]
не даёт, тот результат, так как меню двух уровневое и подсчет кол-ва вывожу в
&tplParentRow=`tpl.ParentRow`
Следовательно исходя из примеров
Вывожу в чанк родителя:
([[countChildren? &parent=`[[+id]]`]])
но, в pdoMenu количество вложенных ресурсов сильно нагружает сервер

сниппет countChildren, который вызывает нагрузку
<?php
$count = 0;
$parent = isset($parent) ? (integer) $parent : 0;

// Define Parents
$q = $modx->newQuery('modResource');
$q->select(array(
    'id',
    'parent'
));
$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);

$parent_ids = array($parent);
foreach ($res as $v) {
    if (in_array($v['parent'], $parent_ids) AND !in_array($v['id'], $parent_ids)) {
        $parent_ids[] = $v['id'];
    }
}

$q = $modx->newQuery('modResource');
$q->where(array(
    'parent:IN' => $parent_ids,
    'isfolder' => false,
    'published' => true
));
$q->select(array(
    'id'
));
$q->prepare();
$q->stmt->execute();
$count = count($q->stmt->fetchAll(PDO::FETCH_ASSOC));
$output = $count;
$modx->cacheManager->set($count, $output);

return (string) $output;
Есть ли менее нагружаемый скрипт, который делает всё тоже самое, кроме нагружаемости?
R2m0x94 (Vasily)
14 мая 2020, 12:45
modx.pro
858
+1

Минимальная сумма заказа minishop2

Ребята, как сделать минимальную сумму заказа для выбранного способа доставки.
if ($modx->event->name == 'msOnSubmitOrder'){
        if($cart = $order->ms2->cart->status()) {
            if($cart['total_cost'] < 1000) {
                $modx->event->output('Сумма вашего заказа должна превышать 1000 руб!');
            } 
        }
}
Работает этот способ, но независимо от выбранного способа доставки.
Как сделать, например, чтобы если «самовывоз» то нет ограничения по минимальной сумме.
Андрей
14 мая 2020, 12:35
modx.pro
3
3 295
+1