MODX 3 и (вероятно) Formit

Здравствуйте.
Уже на втором сайте в логах вижу такие ошибки после открытия любой страницы сайта:
.../core/components/pdotools/vendor/fenom/fenom/src/Fenom/Template.php(487) : eval()'d code : 8) PHP warning: Undefined array key "fi"
.../core/components/pdotools/vendor/fenom/fenom/src/Fenom/Template.php(487) : eval()'d code : 8) PHP warning: Trying to access array offset on value of type null
Причем, их (таких сообщений) прямо куча вываливается после каждой загрузки (68 таких строчек за раз) — весь журнал забит.
По слову «fi» сделал предположение, что это может быть Formit. Смущает, что это происходит при открытии любой страницы, даже где форм никаких нет (например sitemap.xml на пустом шаблоне).

MODX 3.0.4
PHP 8.1
Игорь
28 ноября 2023, 11:12
modx.pro
796
0

Комментарии: 13

Артур Шевченко
28 ноября 2023, 11:33
0
Это не ошибки, это предупреждения. Ты FormIt используешь в чистом виде или с AjaxForm/FetchIt/SendIt?
    Игорь
    28 ноября 2023, 11:47
    0
    Formit + AjaxForm.
    Хорошо что не ошибка, а предупреждение — но, всё равно, не приятно (
      Артур Шевченко
      28 ноября 2023, 14:23
      0
      А почему из двух адаптированных под Modx 3 компонентов, ты выбрал тот, который под Modx 3 никто не адаптировал и не будет?
        Игорь
        28 ноября 2023, 14:37
        0
        потому что jQuery все равно уже установлен на сайте (и используется для разных целей, не только для AjaxForms) + не хотелось заморачиваться с новинками…
        Я, на самом деле, смотрел оба этих компонента: SendIt у меня почему-то не заработал (может плохо разбирался), FetchIt заработал — но нужно было заморачиваться с настройками стилей, уведомлений, антиспама и т.п. (я для Formit + AjaxForm уже все заготовки были с прежних времен).
          Константин Ильин
          28 ноября 2023, 17:43
          0
          Так причем тут jQuery?
          AjaxForm(не только js имеется ввиду, а его php) на сколько я знаю вообще не адаптирован под MODX 3, FetchIt прямая и простая замена.
            Игорь
            28 ноября 2023, 18:09
            0
            Я не думал, что AjaxForm не адаптирован под MODX3 (зачем же он тогда в репозитарии установщика отображается?).
            Мне сейчас кажется, что дело, всё-таки, в настройках хостинга: каких-то директив не хватает…
            Сегодня для примера на другом хостинге (на своем Beget) создал новый сайт MODX 3, установил Formit, AjaxForm и все другие компоненты с сайта-примера, скопировал чанки с формами, шаблон — пока всё работает «как часы» (сообщений в консоле нет).
            К сожалению, не получается пока просто скопировать сайт — Vapor выдаёт ошибку, UpgradeModx не хочет устанавливаться, прямого доступа к хостингу, на данный момент, нет.
            Можно просто попытаться переустановить MODX, но, опять же, без резервной копии страшно (вдруг всё тупо сломается, раз сейчас всё так странно там), неделя работы какой-никакой… ((
              Николай Савин
              28 ноября 2023, 18:31
              0
              AjaxForm это просто JS оболочка для FormIT или любых других сниппетов. Компонент сам по себе ничего не делает, никаких серверных задач не выполняет. Там просто нечего адаптировать.
              Разве что, сам установщик
    Игорь
    28 ноября 2023, 22:27
    0
    Продолжаю думать, что всё дело в настройках PHP и расширений на хостинге. Хостинг webhost1.ru
    Никто не сталкивался с таким?
      Игорь
      28 ноября 2023, 22:45
      0
      Я посмотрел в настройках MODX — есть некоторые различия (первый вариант где всё работает на Beget — второй где сообшения вылазят):
      Версия PHP: 8.1.25 — 8.1.19
      Версия базы данных: 5.7.21-20-beget-5.7.21-20-1-log — 8.0.26
      Кодировка базы данных: utf8 — utf8mb4
      PDO drivers: odbc, sqlite, mysql, firebird, pgsql — sqlite, mysql

      в остальном, вроде, всё похоже
        Николай Савин
        29 ноября 2023, 09:09
        0
        Игорь, а вы какую задачу решаете?
          Игорь
          29 ноября 2023, 19:58
          0
          делаю свои первые сайты на MODX 3, хочу что бы всё было правильно и в логах не было кучи сообщений (предупреждений/ошибок). Если дело в сервере, то нужно понять чего именно там не хватает в настройках… если дело в «моих кривых руках», то тогда я не знаю (с MODX 2 уже давно работаю)… ))
            Николай Савин
            29 ноября 2023, 20:05
            0
            Ну подобные вещи только на уровне исходного кода компонентов можно решить (предположу что это не ваш уровень). Потому проще либо забить, либо отключить вывод предупреждений, оставив только вывод ошибок. Это можно сделать например в htaccess файле
            Гуглится легко. Напримервот тут можно почитать
              Игорь
              29 ноября 2023, 20:20
              0
              Спасибо, про отключение уведомлений понял.
              Всё-таки, лучше дождусь доступа на хостинг, скопирую сайт и буду уже у себя смотреть и экспериментировать (пока что на 80% уверен что дело именно в настройках PHP на хостинге).
              Вы правильно заметили, уровень MODX 3 у меня пока не особо — но я привык всё делать качественно, буду продолжать разбираться. )
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      13