Сниппет выбивает сайт в 500 ошибку если вызывается только один раз

Столкнулся с непонятной ошибкой, а именно:
Есть сниппет который сортирует данные полученные из msproducts
<?php
$data = json_decode($data, true);

function transpose($array) {
    array_unshift($array, null);
    return call_user_func_array('array_map', $array);
}
$result = call_user_func_array('array_merge', transpose(array_chunk($data , 6)));
return json_encode($result);
Данные я в него отправляю таким образом:
{set $res_array = '!msProducts' | snippet : [
    'parents' => $id,
    'limit' => 0,
    'return' => 'json'
]}
    {set $colors_full_array = '!sort3' | snippet : [
        'data' => $res_array
    ] | fromJSON}
И проблема в том что сайт прогружается до начала этого кода и в консоли появляется ошибка 500, в логах все чисто как на сервере так и в модкс

Если я добавляю просто рядом второй раз аналогичный вызов, то первый отрабатывает нормально — на втором вылетает 500

С чем может быть связано?
Вячеслав Варов
15 ноября 2022, 10:53
modx.pro
420
0

MODX + Docker

Всем привет!

Увидел тут в комментариях к одной заметке вопрос про MODX в Docker. Так уж совпало, что я как раз недавно освоил работу с Docker для своих проектов на Vesp, и Pixmill попросили меня сделать что-то такое же и для MODX.



Вызов был принят — и вот результат github.com/bezumkin/modx-docker, можете использовать. Ниже будут пояснения.
Василий Наумкин
15 ноября 2022, 07:09
modx.pro
8
2 812
+22

mSearch2 с поиском по точному вхождению артикула добавляет товары после начального соответствия

Подскажите, необходимо сделать поиск по точному поиску по артикулу, mSearch2 ищет отлично, но добавляет товары если точное вхождение соответствует только началу артикулу. Приведу пример, Артикул 0238567349 и 0238567349780, это два разных артикула точность соответствия составляет 10 цифр, второй результат тоже выводится, спору нет точность есть но не 100%. Подскажите, может в настройках надо выставить вес и балы за совпадение, чтобы добиться 100% или снипет так работает и по другому не может. Пробовал, этот метод расширенного снипета
https://ilyaut.ru/cheats/msearch2-poisk-po-tochnomu-vhozhdeniyu/
, но ничего не меняется, родной снипет также ищет. Кэш при замене чистил, переиндексацию проводил, все равно при запросе 0238567349 выдает товар с этим артикулом а также с 0238567349780.
Вызов снипета на странице поиска такой:
<form action="" method="get">
    <input type="text" name="query" value="[[+mse2_query]]" />
    <button type="submit">Искать!</button>
</form>

[[!pdoPage?
    &element=`msProducts`
    &parents=`102`
    &resources=`[[!mSearch2:default=`999999`?returnIds=`1`&limit=`0`]]`
    &sortby=`ids`
]]

[[!+page.nav]]
Виталий
15 ноября 2022, 04:37
modx.pro
676
0

Обновление ресурса через сервис

Делаю апи, которое в том числе обновляет ресурсы, и вот в методе обновления где нужно обновить данные вызываю $this->modx->runProcessor('resource/update', $data); в результате получаю permission_denied.

Подскажите как авторизовать анонимного пользователя?

Спасибо!
Евгений
15 ноября 2022, 00:02
modx.pro
767
0

Одна цена для двух контекстов

Всем доброго времени суток.
Возникла такая ситуация. Есть сайт на MODX Revolution и Minishop2. Есть два языка. Так как цены одинаковые на всех языках хотелось бы иметь возможность не заполнять ее в английской версии сайта а заполни в русской версии что бы она автоматически обновлялась и в английской версии сайта. Мультиязычность сделана с помощью Babel.
Возможно есть готовые решения или может плагин какой то? Возможно кто то уже реализовывал подобное.
Заранее благодарная за любую помощь. Спасибо.
Алиса
14 ноября 2022, 07:48
modx.pro
370
0

Редирект

Вот например. Мы сделали категорию fk. Заместо fanera-fk. Но не идет редирект со страниц этих категорий.
RewriteCond %{REQUEST_URI} ^/pilomaterialy/fanera/fanera-fk$
RewriteRule ^(.*)$ /pilomaterialy/fanera/fk [R=301,L]
Например
с
/pilomaterialy/fanera/fanera-fk/fanera-fk-2-2-sort/fanera-fk-1525x1525x3-mm-2-2-sort
на
/pilomaterialy/fanera/fk/fanera-fk-2-2-sort/fanera-fk-1525x1525x3-mm-2-2-sort
Как сделать редирект старой категории на новую включая еще и страницы в этой категории
never3d22
12 ноября 2022, 21:40
modx.pro
1
734
0

Как реализовать одну фотографию на сервере для многих товаров Minishop2 ?

Добрый день.
Подскажите есть два вопроса по Minishop2.
Может зря конечно пишу и ответ очевиден, и как всегда напишут читай матчасть. Но если честно тыкните якорь-ссылочку, где почитать, не могу найти ответа в интернете.
1. В карточке товара, в галерее, фото можно подгрузить только с внешнего источника(комп и т.д.), но вопрос в том, что мне желательно присвоить одну фотографию большому количеству товаров. Поясню, если нет фото товара я подгружаю схему деталировки, и так как на схеме порядка 30 товаров, выходит, что я гружу одну и ту же фото, т.е. 30 одинаковых фото. Подскажите, как в галерее в карточке товара можно присвоить фото что лежит уже на сервере, перетаскивание в поле загрузочной панели из файловой системы заблокировано.
2. Делаю выборку на странице товаров с помощью msProducts, сейчас через связи слайдер листает все товары грубо говоря одного комплекта. Но дело в том, что в msProducts надо прописывать Id связи товаров. А так как шаблон карточки один, не могу понять как сделать чтобы msProducts подцеплял связь автоматически
&link=`.........`
, чтобы не писать Id связи и использовать один шаблон для всех товаров и всех комплектов созданных связей. Грубо говоря, хочется чтобы msProducts видел Id товара и автоматом выводил в слайдер все товары только этой связи а не других.
P/s Извиняюсь, если объяснил не совсем доходчиво свои мысли.
Виталий
12 ноября 2022, 06:41
modx.pro
499
0

скрытие реф урл на кнопке и редиректы

ребяты, подскажите скрипт php, или может пакет какойто чтобы скрывать некрасивые реф ссылки, а показывать на кнопке красивый адрес, хотя бы такой

site.ru/goto?p=name1
или в любом другом виде лишь бы работало как описано ниже
например как здесь кнопка перейти на сайт

этот урл на кнопке в текущей странице

name1 например берется из pagetitle текущей страницы
и чтобы он редиректил на соответствующий урл name1.ru к примеру который можно забить в TV поле link

таких линков много и все в htaccess руками их вбивать не вариант
а в системе управления как то динамически этот список сформировать или из базы подтягивать

может есть какой то пакет для подобных дел
вобщем поделитесь мыслями как это организовать ПЖ
Евгений
12 ноября 2022, 02:28
modx.pro
454
-2

Передать массив состава заказа minishop2 в сниппет

Привет. Есть сайт интернет-магазин, работающий на minishop2 и принимающий оплату через uniteller. Нужно реализовать отправку фискального чека, при смене статуса заказа в minishop2 панели на “Завершен”. Сейчас это реализуется таким алгоритмом.

При смене статуса чанк письма вызывает сниппет, который передает в переменные значения взятые из minishop2.



Код:
[[!checkSend? &orderId=[[+num]] &subtotal=[[+total.cart_cost]] &phone=[[+address.phone]] &email=[[+user.email]] &products=[[+products]] &userName=[[+address.receiver]]]]
Но массив products по итогу не имеет значения. Помогите решить эту проблему. Как передать значения массива products в сниппет?
Буду очень благодарен, если сможете помочь
Matvey
11 ноября 2022, 20:55
modx.pro
370
0

Внесение правок на страницу

Добрый день!
Нужно внести правки в текст странички и вставить туда же изображение.
Проблема в том, что на данной странице текст не отображается в редакторе (хотя он есть на сайте), есть лишь ссылки, ведущие на другие страницы.
Что делать в таком случае?

Так выглядит страница в редакторе:


А так- на сайте:
Дарья
11 ноября 2022, 16:20
modx.pro
478
0