Вопросы

Фильтрация по TV полям

Требуется подсказка. На сайте порядка 50 однотипных документов, в которых в каждом документе находится порядка 5 TV полей (возраст, вес, рост и т. п.). Помимо числовых TV полей имеется текстовые TV поля.
1. Как быстро, просто сделать множественный фильтр этих 50 документов по всем TV полям, причем числовые поля фильтровать двухсторонними ползунками (например как здесь), а текстовые поля фильтровать чекбоксами?
2. Можно ли выполнить эту фильтрацию в совокувности по всем значениям?
3. Можно ли осуществить фильтрацию без вывода отдельной страницы с результатами филтра? Результат подгружать прямо на странице без ее перезагрузки?
Укажите пжта путь…
Антон
27 февраля 2020, 17:08
modx.pro
736
0

ms2->changeOrderStatus и order->set ... save() , В чем разница ?

В чем принципиальное отличие между этими двумя методами?

В первом случае делаем

$order = $modx->getObject(...)
$order->set('status','...');
$order->save();

Поидее все просто и понятно, загрузили объект, изменили, записали

Но в чем смысл тогда ms2->changeOrderStatus? Ведь здесь придется делать дополнительные загрузки.

Тоесть вопрос не в том, зачем этот метод в принципе нужен, а есть ли между описанным выше модификацией объекта заказа и вызова метода минишопа техническая разница?

Спасибо!
Sergey
27 февраля 2020, 12:15
modx.pro
1 020
0

Вывод ресурсов через pdoResources с динамическим источником файлов

Всем привет!
При выводе ресурсов через pdoResources выводится картинка предка. Ну то есть как выводится… картинки в этой папке нет, поэтому ничего не выводится. В пути не верный только id. То что до него и имя файла — верные.

Что сделал:
Создал TV с названием tourCover, прикрепил к нужному шаблону и сменил в нем источник файлов на динамический, ранее добавленный в конфиг, согласно инструкции:
Algirdas
26 февраля 2020, 23:41
modx.pro
1 020
0

Сортировка !mFilter2 по NATSORT

Здравствуйте,

Сейчас сортировка !mFilter2 ( &sort=`xxxxxx:asc`) резултатов такая:

0.1, 0.2, 0.3, 1, 10, 11, 12, 15, 2, 3, 4.

Что и где нужно изменить чтобы сортировка была по NATSORT, то есть:

0.1, 0.2, 0.3, 1, 2, 3, 4, 10, 11, 12, 15.

Спасибо.
Trying
26 февраля 2020, 15:26
modx.pro
1
991
0

Ошибка при установке minishop2

Добрый день.
Нам моем сервере для разработки находятся файлы большого количества сайтов, которые созданы на modx и используют minishop2.
Никогда проблем с установкой последнего не возникало, но вот уже второй день при установке пакета minishop2 (скачиваемого с modstore.pro) я получаю ошибку о невозможности создать одну из таблиц.

И в целом minishop работает, но невозможно создать ни одну опцию (что и логично ибо таблицы нет).
Версия mysql 5,6 на сервере.
Ну и собственно вопрос. Minishop недавно обновился и у него изменились требования? Иначе как пояснить тот факт, что до этого я не одну сотню раз его устанавливал без проблем.
Ну и собственно самый важный вопрос — а что делать то?
Спасибо.
Александр Мельник
25 февраля 2020, 18:07
modx.pro
955
0

Ошибка оплаты заказа с msBonus2 и mspTinkoff

Доброго дня!

Создал кнопку оплаты заказа в ЛК у пользователя, при нажатии перекидывает на Tinkoff оплату.

Получение ссылки простой код, спасибо большое Володе. (использую через аякс)
if (!$order = $modx->getObject('msOrder', ['id' => $order_id ])) {
        return $resp = ['success' => 0, 'text' => 'Такого заказа не найдено!'];
    }
    if ($payment = $order->getOne('Payment')) {
    $mShop2 = $modx->getService('miniShop2');
    if ($class = $payment->get('class')) {
        $mShop2->loadCustomClasses('payment');
        if (class_exists($class)) {

            $handler = new $class($order);
            if (method_exists($handler, 'getPaymentLink')) {
                $link = $handler->getPaymentLink($order);
                $payment_link = $link;
            }
        }
    }
}
В общем код работает. Создаю простой заказ, цены на сайте без копеек. Прохожу в ЛК нажимаю кнопку оплатить все перекидывает и можно оплачивать.

Возникает проблема при использовании бонусов. Привожу пример на реальном заказе.
1. Корзина без бонусов. сумма 620
joxi.ru/Grq5XZktk8BOQr
joxi.ru/1A5VxdktGZ8yVr

2. С бонусами. 33 бонуса сумма 587
joxi.ru/1A5VxdktGZ87Vr
joxi.ru/ZrJvYJoiMNxoRr

Стоит оплата онлайн, т.е. должно перекинуть на оплату тинькова. Но выдает ошибку.
Константин Ильин
25 февраля 2020, 14:52
modx.pro
1
1 594
0

Тег состоящий из нескольких слов и неразрывные пробелы

Всем привет. На сайте сделано облако тегов через такой сниппет. Теги в админке заполняются сразу с неразрывным пробелом (наружная ?nbsp; реклама). К сожалению в сниппете ?nbsp; заменяется на C2 A0 — как это можно исправить?

<?php
$base = $modx->config['base_url'];
$tvname = $modx->getOption('tvname', $scriptProperties, "autotag");
$output = "";

$content_type = $modx->getObject('modContentType', array('mime_type' => 'text/html'));
if(substr_count($_SERVER["REQUEST_URI"], $content_type->get('file_extensions'))) {
	$parent = $modx->resource->parent;
	$url = $modx->makeUrl($modx->resource->parent);
}else{
	$parent = $modx->resource->id;
	$url = $modx->resource->uri;
}

$q = $modx->newQuery('modTemplateVarResource');
$q->select('DISTINCT(`modTemplateVarResource`.`value`)');
$q->innerJoin('modTemplateVar', 'tv', "tv.id = modTemplateVarResource.tmplvarid");
$q->innerJoin('modResource', 'res', 'res.id=modTemplateVarResource.contentid');
$q->where(array(
		'tv.name' => $tvname, 
		'res.context_key' => $modx->resource->context_key,
		'res.parent' => $parent
	)
);

if($q->prepare() && $q->stmt->execute()) {
	while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
		$result[] = $row['value'];
	}
}
if($result) {
    $result = implode($result, ',');
    $result = array_unique(explode(',', $result));
    
    foreach($result as $value) {
    	$output .= "<a href='{$base}{$url}?tag={$value}' class='ui label'>{$value}</a> ";
    }
}
return $output;
Alex
25 февраля 2020, 09:47
modx.pro
769
0

Ресурсы без ссылок

Всем привет!

Есть такая структура ресурсов:
  • Новости
    • Посты
      • Пост 1
      • Пост 2
      • Пост 3
    • Категории
      • Категория 1
      • Категория 2
      • Категория 3
В стандартном виде конкретный пост/конкретная категория имеет URL вида:
news/posts/post-1 или news/categories/category-1

С помощью манипуляций с ЧПУ я изменил вид URL на желаемый:
news/post-1 или news/category-1

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

Очень рассчитываю на вашу помощь. Честно говоря — не знаю, как более грамотно сформулировать вопрос. Надеюсь, что более-менее понятно объяснил.
Никита Боднар
24 февраля 2020, 17:19
modx.pro
1 064
0

Bitrix24 и miniShop2 - отправка названия товара, количества и цены за ед. в лид

Добрый вечер. Столкнулся с проблемой: пытаюсь отправить товары в лид в Битриксе, вся остальная информация из заказа подтягивается без проблем:
$data = array(
            'order' => $msOrder->toArray(),
            'delivery' => $msOrder->Delivery->toArray(),
            'payment' => $msOrder->Payment->toArray(),
            'address' => $msOrder->Address->toArray(),
            'user' => $msOrder->User->toArray(),
            'user_profile' => $msOrder->UserProfile->toArray(),
        );
lkmarketing24
24 февраля 2020, 17:00
modx.pro
835
0

Хочу написать статью но не хватает рейтинга

Всем привет!
Хотелось бы поделиться опытом, но не хватает рейтинга. Хочу написать статью в раздел Готовые решения или Пошаговые инструкции (кстати в чем разница?)
Что делать, как быть?
Algirdas
24 февраля 2020, 12:43
modx.pro
766
+3