Редактор темы

Не проставляет данные в модуле Aloha после обновления Dle

Garlem!

Бывалый
Регистрация
11 Июл 2024
Сообщения
116
Рейтинг реакций
19
Баллы
18
1/3
Автор темы
Здравствуйте! Кто может сталкивался: обновил Dle на новую версию, и при добавлении новости через модуль Aloha не проставляются данные ни в допполя ни тайтл. Думал ошибка где с правами, так что-то ничего не нашел
 
Автор темы
Ai, обновил DLE до новой версии, и теперь при добавлении новости через модуль Aloha не заполняются данные ни в дополнительных полях, ни в title. Сначала подумал, что проблема может быть с правами, но ничего подходящего не нашёл. Подскажите, пожалуйста, в чём может быть причина?
 
, обновил DLE до новой версии, и теперь при добавлении новости через модуль Aloha не заполняются данные ни в дополнительных полях, ни в title....

Привет. Если сама новость создаётся, но title и допполя пустые — это почти точно не права.

Чаще всего после обновления DLE причина одна из этих:

  • Модуль Aloha не совместим с новой версией DLE — поменялись обработчики/форма добавления новости.
  • Слетели или изменились имена допполей. В DLE проверь: Админка → Дополнительные поля новостей, чтобы имена совпадали с теми, что прописаны в Aloha.
  • Aloha пишет данные через старый формат/старые переменные, а новая DLE их уже не принимает.
  • Не обновлены файлы модуля в админке или шаблоне после апдейта DLE.
  • Ошибка JS в админке — модуль может просто не подставлять значения в форму.

Что проверить в первую очередь:

  1. Версию Aloha — есть ли релиз именно под твою версию DLE.
  2. Открыть консоль браузера на странице добавления новости — нет ли ошибок JS.
  3. Проверить engine/data/xfields.txt — остались ли нужные допполя.
  4. Проверить логи:

PHP:
engine/data/logs/

и ошибки PHP на сервере.

Ещё быстрый тест: вручную заполни title и допполя при добавлении новости. Если вручную сохраняется нормально — проблема именно в Aloha/его JS/обработчике, а не в DLE и не в правах.

Если модуль старый, скорее всего нужно править обработчик, который формирует xfields. В базе DLE допполя должны сохраняться в поле xfields таблицы новостей примерно в таком виде:

PHP:
fieldname|value||fieldname2|value2

Напиши точную версию DLE до/после обновления и версию Aloha — тогда можно будет точнее сказать, где именно сломалось.
 
Автор темы
В том-то и дело, что новость в итоге не создаётся. Старая версия DLE — 15, новая — 18.
 
Автор темы
Ai В том-то и дело, что новость в итоге не создаётся. Старая версия DLE — 15, новая — 18.
 
В том-то и дело, что новость в итоге не создаётся. Старая версия DLE — 15, новая — 18.

С 15 до 18 — это большой скачок. Если новость вообще не создаётся, то почти наверняка Aloha не совместим с DLE 18, а не проблема с правами.

Что изменилось критично:

  • в DLE 16/17/18 менялись обработчики добавления новостей;
  • усилилась проверка токенов/сессий;
  • могли измениться обязательные поля при сохранении;
  • старый модуль может отправлять данные в старый endpoint или в старом формате;
  • при ошибке DLE может просто не создавать запись, если модуль не обрабатывает ответ.

Что проверить первым делом:

  • Есть ли версия Aloha именно под DLE 18.
  • Открыть DevTools → Network и посмотреть запрос при добавлении новости: какой статус ответа — 200, 403, 500.
  • Проверить логи PHP/сервера.
  • Включить вывод ошибок в DLE/на хостинге и повторить добавление.
  • Проверить, не ругается ли DLE на user_hash / токен / сессию.

Если запрос уходит, но ответ 403 — почти точно проблема с токеном/авторизацией.

Если 500 — смотреть PHP error log, там будет конкретная строка.

Если ответ 200, но новости нет — модуль отправляет данные, но DLE 18 их не принимает или не проходит валидация.

Вывод: Aloha, который работал на DLE 15, с высокой вероятностью нужно обновлять или править под DLE 18. Просто правами это не лечится.

Скинь текст ошибки из логов или ответ запроса из Network — по нему уже можно точно понять, где ломается.
 
Автор темы
Ai Должен работать и на 18 версии с теми же файлами. Запрос уходит, Ответ 200
 
Должен работать и на 18 версии с теми же файлами. Запрос уходит, Ответ 200

Если запрос уходит и статус 200, это ещё не значит, что DLE принял новость. Часто DLE возвращает страницу с ошибкой/редиректом тоже с кодом 200.

Проверь так:

  • В DevTools → Network открой этот запрос → вкладка Response/Preview. Там может быть текст ошибки: неверный user_hash, нет прав, не заполнено обязательное поле, ошибка SQL и т.п.
  • Сравни отправляемые поля с обычным добавлением новости через админку DLE 18.
  • Проверь, передаётся ли актуальный user_hash. После DLE 15 это частая причина.
  • Проверь обязательные поля: title, short_story, full_story, category, alt_name, approve, date.
  • Проверь PHP error log на сервере. При PHP 8 старые модули часто ломаются без видимой ошибки в интерфейсе.
  • Проверь лог DLE/админки, если включён.

Важный момент: если в ответе 200 приходит HTML админки или форма логина — модуль не авторизовался/не прошёл токен, даже если статус успешный.

Ещё вариант — запрос доходит до обработчика Aloha, но сам INSERT в базу не выполняется из-за ошибки SQL. В DLE 18 могли отличаться обязательные поля таблицы или формат данных.

Минимально что нужно увидеть:

  • URL, куда уходит запрос.
  • POST-поля из Network.
  • Тело ответа Response.
  • Ошибки из PHP error log.

Без тела ответа 200 гадать сложно. Но если новость вообще не появляется в базе, то проблема не в допполях/title, а раньше: токен, обязательные поля, PHP-ошибка или SQL-запрос модуля под DLE 18.
 
Алоха отлично работает на 18 версии ДЛЕ, сам на ней сижу, все четко.
 

Похожие темы Последние темы Популярные темы

Назад
Сверху