Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 115 комментариев

Наумов Алексей
Наумов Алексей
Ruslan
Ruslan
Было бы супер.

А у вас есть в планах сделать что-то похожее на «Client Config» page?
Ну то-есть будет какая то страница, где люди смогут создавать глобальные поля, вроде номера телефона или email. Мне кажется это был бы тоже приятное дополнение.
Платон
Платон
Добрый день, получаю ошибку после отправки формы
Fatal error: Uncaught Error: Object of class FormIt could not be converted to string in /core/components/yasmartcaptcha/model/yasmartcaptcha.class.php:60 Stack trace: #0
Подскажите в чем может быть проблема. Причем не важно пройдена капча или нет.
Ruslan
Ruslan
Так же есть вопрос:

При создании например полей в админ панели,
Field::make('title')->label('Заголовок')
Возможно ли, что бы данный заголовок тоже можно было менять, в зависимости от выбранного языка для перевода?
Например если на сайте два языка, русский и английски, то для русской версии отображался бы «Заголовок» а для англ «Title».
Илья
Илья
Путь до файла /core/components/jevix/vendor/agelxnash/jevix/src/functions.php.

Исправленный вариант кода:
<?php
/**
 * Функция ord() для мультибайтовы строк
 *
 * @param string $c символ utf-8
 * @return int код символа
 */
function uniord($c)
{
    $h = ord($c[0]);
    if ($h <= 0x7F) {
        return $h;
    } else {
        if ($h < 0xC2) {
            return false;
        } else {
            if ($h <= 0xDF) {
                return ($h & 0x1F) << 6 | (ord($c[1]) & 0x3F);
            } else {
                if ($h <= 0xEF) {
                    return ($h & 0x0F) << 12 | (ord($c[1]) & 0x3F) << 6
                        | (ord($c[2]) & 0x3F);
                } else {
                    if ($h <= 0xF4) {
                        return ($h & 0x0F) << 18 | (ord($c[1]) & 0x3F) << 12
                            | (ord($c[2]) & 0x3F) << 6
                            | (ord($c[3]) & 0x3F);
                    } else {
                        return false;
                    }
                }
            }
        }
    }
}

/**
 * Функция chr() для мультибайтовы строк
 *
 * @param int $c код символа
 * @return string символ utf-8
 */
function unichr($c)
{
    if ($c <= 0x7F) {
        return chr($c);
    } else {
        if ($c <= 0x7FF) {
            return chr(0xC0 | $c >> 6) . chr(0x80 | $c & 0x3F);
        } else {
            if ($c <= 0xFFFF) {
                return chr(0xE0 | $c >> 12) . chr(0x80 | $c >> 6 & 0x3F)
                    . chr(0x80 | $c & 0x3F);
            } else {
                if ($c <= 0x10FFFF) {
                    return chr(0xF0 | $c >> 18) . chr(0x80 | $c >> 12 & 0x3F)
                        . chr(0x80 | $c >> 6 & 0x3F)
                        . chr(0x80 | $c & 0x3F);
                } else {
                    return false;
                }
            }
        }
    }
}
Aleksandr Huz
Aleksandr Huz
Куда именно вы хотите добавить текстовое поле? в таблицу или просто на панель в меню?

Разрешено добавлять только таблицы, ведь простые поля не будут сохраняться, там нет этого функционала.
Ruslan
Ruslan
@Aleksandr Huz

Создал по вашему примеру через режим разработчика «Пример создания меню с двумя вкладками»
Всё появилось отлично, но если я например хочу туда добавить простое текстовое поле
Field::make('title')->label('Title')->required()
То оно не появляется.
В журнале ошибок показывает

/core/src/Revolution/modMenu.php 80
The menu cache key menus/ru could not be written.

Версия Modx 3.1.2
php 8.2
Дима Касаткин
Дима Касаткин
Спасибо за ответы!

Хранит то modx чанки и шаблоны и т.п. в базе да, но с ними как раз нет проблем — сталь галочку Статичный, указываешь папку и файл е лежит код — и вот уже код хранится не в базе данных, а в файле, и можно версионировать его через git. Пишу это не для тебя ;) а скорее для читателей, которые все ещё верят в миф про то, что в modx есть какие-то проблемы есть с git-ом.

Проблем с git нет вообще! Разве что, для упрощения быстрого старта по умолчанию сохранение кода в файлы в системных настройках не включено, пожилому он и знания в БД пока не поставишь галочку или не включишь сис. настройки (staticelements что-то там такое в префиксе)…

Я использую так уже почти 10 лет. А слабое звено тут получается контент, хранящийся в базе, и вот тут будет удобно использовать что то вроде ChangePack, для автоматической генерации файла с «миграцией» изменений в БД.