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

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

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, для автоматической генерации файла с «миграцией» изменений в БД.
Александр Туниеков
Александр Туниеков
Если у тебя будет минутка, может опытным взглядом увидишь в чем проблема...?
Уже ничего не помню. Там не минутка нужна.
И 2й вопрос: могу ли использовать часть кода компонента в каком-то новом решении? С сохранением копирайтов твоих само собой.
Без проблем. И даже копирайты не обязательно.
Есть идея сделать некий githelper или gitmanager, ещё один, ага)
Проблема в том, что MODX хранит чанки, сниппеты и т.д. в базе. К базе просто так гит не подключишь и сделать синхронизацию сложно. Сейчас я пишу компоненты в которых все до установки в файлах и использую обычный гит. И версии изменений есть и обновить боевой сайт не проблема. И githelper не нужен.
Дима Касаткин
Дима Касаткин
Спасибо! Кажется, на новых версиях modx 2.8.x он не работает, но пишу я не чтобы поныть)).

Уже сделал fork и помучал его вчера:
github.com/dimasites/revo-changepack но почему-то пока н решил проблему с подстановкой правильной ссылки на скачивание JSON и главное — ошибку при загрузке «коммита» из файла ли соответственно не проверил как применяются изменения).

Если у тебя будет минутка, может опытным взглядом увидишь в чем проблема...?

И 2й вопрос: могу ли использовать часть кода компонента в каком-то новом решении? С сохранением копирайтов твоих само собой.

Есть идея сделать некий githelper или gitmanager, ещё один, ага) Но более UI-шный и скажем так, сответствубщий тому, как видится современный workflow работы с modx на более-менее ответственных проектах я где нужна страховка и возможность отката изменений…
Александр Туниеков
Александр Туниеков
Дима Касаткин
Дима Касаткин
@Александр Туниеков привет! Подскажи, ещё используешь эту разработку, или перешел на gitify или что-то другое?

P.S. Не могу найти собранный пакет, раньше вроде был в репозитории… Где-то на сайтах у меня остался он ещё, вроде было удобно)) Давно не пользовался, сейчас вроде актуальность появилась, хочу вот уточнить у первоисточника, как дела с миграциями изменений в БД?