Вопросы

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

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

И в целом minishop работает, но невозможно создать ни одну опцию (что и логично ибо таблицы нет).
Версия mysql 5,6 на сервере.
Ну и собственно вопрос. Minishop недавно обновился и у него изменились требования? Иначе как пояснить тот факт, что до этого я не одну сотню раз его устанавливал без проблем.
Ну и собственно самый важный вопрос — а что делать то?
Спасибо.
Александр Мельник
25 февраля 2020, 18:07
modx.pro
945
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 584
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
749
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 049
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
826
0

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

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

Изменение изображения при наведении на пункт меню

Здравствуйте, уважаемые колеги!
Подскажите, пожалуйста, как можно реализовать такое действие через тивишки (или, возможно, как-то по-другому)?
При наведении на пункт меню, меняется изображение.
Сергей
23 февраля 2020, 17:13
modx.pro
1
1 150
0

Использование старых файлов

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

Используется MODX Revolution 2.5.2-pl. Функционал стандартный, без настроек:


На некоторые страницы требуется залить одни и те же файлы. Как мне присобачить уже загруженный файл, чтобы сэкономить место на сервере?

Всем заранее спасибо.
Александр Коноплёв
23 февраля 2020, 15:00
modx.pro
685
0

Передать TV в чанк

Всем привет!
Подскажите пожалуйста что я делаю не так.
У меня интеграция с 1С.

Через Msync передаю TV параметр товара- kolvo. Потом в чанке msProduct вызываю:

[[pdoResources?
&parents=`2572`
&depth=`0`
&includeTVs=`kolvo`
&processTVs=`1`
]]

Количество: [[+tv.kolvo]]

В итоге строка нулевая. Но если вызываю родителя выше и ставлю:
&parents=`2571`
&depth=`1`

то в списке вижу, что в Id=2572 поле tv.kolvo =>1

Подскажите пожалуйста что не так делаю.

— Разобрался самостоятельно:

[[pdoResources?
&parents=`{$id}`
&depth=`0`

&includeTVs=`kolvo`
&processTVs=`0`
]]

Количество: [[#{$id}.kolvo]]
---
alex
23 февраля 2020, 09:38
modx.pro
896
0

Как удалить часть страницы в Fenom?

Как можно удалить часть содержания страницы в Fenom? Нашёл такое выражение:
{$content | preg_split : 'разделитель'}
Он разбивает содержимое на 2 элемента массива, мне нужно вывести только Array[0]. Подскажите, как это сделать.
Павел
22 февраля 2020, 20:03
modx.pro
1 026
0