Вячеслав Варов

Вячеслав Варов

С нами с 06 сентября 2016; Место в рейтинге пользователей: #228

Как в migx задать полю типа image источник файлов?

Создаю конфигурацию migx через панель управления — пакеты -> MIGX -> добавить элемент.

Как через такую настройку привязать источник файла полю ввода? Есть вариант с созданием tv и привязной его к источнику файлов и затем привязать его через inputTV в migx, но мне этот вариант не подходит поскольку придется создать более 40 разных tv полей для этого, увидел что есть вкладка Mediasource

Попробовал ее заполнить исходя из того как я понял оно работает но ничего не вышло


Вот список источников файлов
Вячеслав Варов
06 февраля 2024, 19:39
modx.pro
582
0

Перестал работать migx

Вячеслав Варов
31 января 2024, 14:34
modx.pro
526
0

Проблема с pThumb и webp с прозрачным фоном

Не пойму почему при конвертами изображения из png в webp pThumb добавляет белый фон изображению
Вызываю сниппет следующим образом:
{'pThumb' | snippet: ['input' => $params.src, 'debug' => 1, 'options' => 'w=1200&f=webP']}
Пробовал использовать Resizer, но получаю ошибку в консоли

Resizer debug output:
    [0] => Resizer v1.0.1
    [1] => Using GD
    [2] => Input file: assets/images/mobile-app-sm.png
    [3] => Input options: 
  'w' => '608',
  'f' => 'webP'
    [4] => *** Error *** Unable to open image assets/images/mobile-app-sm.png
Файл существует и доступен по адресу «assets/images/mobile-app-sm.png», я пробовал указывать и с слешем в начале и полный url до изображения включая домен, все безуспешно.

Подскажите пожалуйста кто уже сталкивался с такой проблемой

Версия php 8.3 версия modx 2.8.6
Вячеслав Варов
31 января 2024, 12:34
modx.pro
452
0

Ограничивающее поле по tv в формах

Как в настройках форм в ограничивающее поле поставить ограничение по значению tv параметра?

Или как в ограничивающее поле вписать несколько id родителей, пробую через запятую — не работает как надо
Вячеслав Варов
28 января 2024, 10:24
modx.pro
315
0

Как использовать функции PHP в плагинах MODX?

Не понимаю почему добавляя функцию в плагин сайт перестает работать, вот код плагина
<?php
/** Функция обрабатывает размер файла в байтах в человекочитаемый 
    формат добавляя к размеру файла размерность, например 128 Mb
*/
function human_filesize($bytes, $decimals = 2) {
  $sz = ['B','Kb','Mb','Gb','Tb','Pb'];
  $factor = floor((strlen($bytes) - 1) / 3);
  return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . ' ' .@$sz[$factor];
}

/** @var modX $modx */
switch ($modx->event->name) {
    case 'pdoToolsOnFenomInit':
        /** @var Fenom $fenom
            Мы получаем переменную $fenom при его первой инициализации и можем вызывать его методы. 
            Например, добавим модификатор вывода имени домена сайта из произвольной ссылки.
        */
        $fenom->addModifier('getFileInfo', function ($input) {
          if (file_exists($input)) {
            return strtoupper(pathinfo($input, PATHINFO_EXTENSION)) . ', ' . human_filesize(filesize($input), 0);
          }
        });
        break;
}
если заккоментировать функцию human_filesize, все работает, если оставить — сайт вылетает в ошибку fenom, может есть какие-то правила добавления функций?
Вячеслав Варов
23 января 2024, 10:53
modx.pro
409
0

Публикация изменений на сайт только для менеджера/админа

Подскажите можно ли реализовать следующий функционал:
Все изменения на сайте публикуются и видимы только для авторизованных в админ панели пользователей, и только после проверки можно опубликовать это все на основной сайт?

Это нужно чтобы внесенные изменения не улетели сразу на паблик, чтобы их можно было предварительно проверить как это выглядит на сайте и затем только сделать общедоступными

Есть мысли сделать это через babel и два контекста, первый поддомен test и контекст test_web второй обычный домен и контекст web, однако не хотелось бы по два раза вносить изменения
Вячеслав Варов
12 января 2024, 20:22
modx.pro
436
0

Как в MIGX сделать поле с выбором конфигурации

Приветствую!
Подскажите пожалуйста как сделать в MIGX select поле с выбором конфигурации полей, например, я хочу в зависимости от выбора конфигурации выводить на заполнение тот или иной набор полей, видел где-то статью, не смог найти.

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

Все это я хочу сделать для более удобного наполнения блоками страницы. Например для каждого шаблона будет migx поле, внутри которого будет возможность выбора, какой блок ты хочешь добавить, и соответственно для каждого блока свой набор полей и превью.
Вячеслав Варов
25 декабря 2023, 14:16
modx.pro
2
412
0

Возможно ли в модкс автоматически в админке считать стоимость

Вопрос такой, возможно ли считать стоимость товара указывая два параметра, стран цена и скидка на товар, поле цена должно заполняться автоматически по формуле Старая цена — скидка в процентах
Вячеслав Варов
16 ноября 2022, 08:32
modx.pro
497
0

Сниппет выбивает сайт в 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
416
0

Не открываются страницы 4 уровня 502 - Bad Gateway .

Доброго дня!
На сайте перестали открываться страницы 4 уровня:
a.auto-autoservice.ru/models/audi-a3/remont-dizelnogo-dvigatelya/kapitalnyij-remont-dizelnyix-dvigatelej/
Выбивает ошибку 502, в чем может быть причина?

При этом
a.auto-autoservice.ru/models/audi-a3/remont-dizelnogo-dvigatelya/ — открывается отлично
Вячеслав Варов
30 октября 2022, 10:31
modx.pro
268
0