Всего 125 019 комментариев

Aleksandr Huz
29 апреля 2025, 12:53
0
А чем Client Config не устраивает?
Ruslan
29 апреля 2025, 12:42
0
Было бы супер.

А у вас есть в планах сделать что-то похожее на «Client Config» page?
Ну то-есть будет какая то страница, где люди смогут создавать глобальные поля, вроде номера телефона или email. Мне кажется это был бы тоже приятное дополнение.
Aleksandr Huz
29 апреля 2025, 11:50
0
Пока невозможно, но я обязательно добавлю это.
Платон
29 апреля 2025, 09:43
0
Добрый день, получаю ошибку после отправки формы
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
29 апреля 2025, 09:23
0
Так же есть вопрос:

При создании например полей в админ панели,
Field::make('title')->label('Заголовок')
Возможно ли, что бы данный заголовок тоже можно было менять, в зависимости от выбранного языка для перевода?
Например если на сайте два языка, русский и английски, то для русской версии отображался бы «Заголовок» а для англ «Title».
Дмитрий
28 апреля 2025, 21:46
0
Что то я упустил из вида этот комментарий.
Вот тут я описываю как подгружал свой процессор.
Илья
28 апреля 2025, 19:51
0
Путь до файла /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;
                }
            }
        }
    }
}
inna
28 апреля 2025, 19:44
0
/public_html/core/components/jevix/vendor/agelxnash/jevix/src/functions.php
поменял фигурные кавычки на квадратные и заработало

Илья, где именно поменяли? Файл выложите, пожалуйста
Ruslan
28 апреля 2025, 12:20
+1
Теперь понятно.
Я думал там есть такая возможность.

Тогда вопрос отпал.
Aleksandr Huz
28 апреля 2025, 12:11
0
Куда именно вы хотите добавить текстовое поле? в таблицу или просто на панель в меню?

Разрешено добавлять только таблицы, ведь простые поля не будут сохраняться, там нет этого функционала.
Ruslan
28 апреля 2025, 10:57
0
@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
Дима Касаткин
27 апреля 2025, 16:52
0
Спасибо за ответы!

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

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

Я использую так уже почти 10 лет. А слабое звено тут получается контент, хранящийся в базе, и вот тут будет удобно использовать что то вроде ChangePack, для автоматической генерации файла с «миграцией» изменений в БД.
Александр Туниеков
27 апреля 2025, 13:36
0
Если у тебя будет минутка, может опытным взглядом увидишь в чем проблема...?
Уже ничего не помню. Там не минутка нужна.
И 2й вопрос: могу ли использовать часть кода компонента в каком-то новом решении? С сохранением копирайтов твоих само собой.
Без проблем. И даже копирайты не обязательно.
Есть идея сделать некий githelper или gitmanager, ещё один, ага)
Проблема в том, что MODX хранит чанки, сниппеты и т.д. в базе. К базе просто так гит не подключишь и сделать синхронизацию сложно. Сейчас я пишу компоненты в которых все до установки в файлах и использую обычный гит. И версии изменений есть и обновить боевой сайт не проблема. И githelper не нужен.
Дима Касаткин
26 апреля 2025, 16:23
0
Спасибо! Кажется, на новых версиях modx 2.8.x он не работает, но пишу я не чтобы поныть)).

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

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

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

Есть идея сделать некий githelper или gitmanager, ещё один, ага) Но более UI-шный и скажем так, сответствубщий тому, как видится современный workflow работы с modx на более-менее ответственных проектах я где нужна страховка и возможность отката изменений…
Дмитрий
26 апреля 2025, 15:12
0
Вопрос, а как сделать для категории товара?
Александр Туниеков
26 апреля 2025, 13:40
0
Привет. Я этот пакет уже лет 9 не использую. Сейчас, я пишу компоненты на основе modExtra. Все в них прописываю и, когда надо что-то применить с тестового сайта, просто устанавливаю новую версию компонента.
Включил в модсторе changepack. Если надо пользуйтесь.
Дима Касаткин
25 апреля 2025, 22:56
0
@Александр Туниеков привет! Подскажи, ещё используешь эту разработку, или перешел на gitify или что-то другое?

P.S. Не могу найти собранный пакет, раньше вроде был в репозитории… Где-то на сайтах у меня остался он ещё, вроде было удобно)) Давно не пользовался, сейчас вроде актуальность появилась, хочу вот уточнить у первоисточника, как дела с миграциями изменений в БД?
Aleksandr Huz
24 апреля 2025, 15:46
0
Сниппеты исключают страницу, если нет перевода, даже если показываем 404 страницу.

Поэтому у меня работает так:
  • redirect — если мы переходим на страницу без перевода, то срабатывает редирект на главную, и такие страницы исключаются из всех сниппетов.
  • 404 — то же самое, что и redirect, но показываем 404 страницу вместо главной
  • default — страницы без перевода учитываются в сниппетах, (pbLang, pbMenu), но не в pbSitemap. При переходе на такую страницу показываем страницу без перевода.

За это будет отвечать системная настройка pageblocks_context_fallback