Изменения типа материала не сохраняются

Главные вкладки

Аватар пользователя bsc-man bsc-man 2 мая 2018 в 9:32

Добрый день.

При изменении настроек в типе материала во вкладке ПРАВКА (EDIT) и сохранении - настройки не меняются, а страница как будто просто перезагружается. При изменении и сохранении в других вкладках - все работает корректно.

В логи никакая информация не попадает.
Может подскажите, в какую сторону "копать"?

ВложениеРазмер
Иконка изображения bezymyannyy.png56.25 КБ

Лучший ответ

Аватар пользователя fairrandir fairrandir 8 мая 2018 в 16:12

1. Поставить hacked, посмотреть, может в ядро какие-нибудь изменения вносили.
2. Смотреть что происходит с помощью xdebug.
3. Нудно - отключать по очереди модули, начиная с кастомных, пока не заработает. Если после отключения какого-либо модуля заработает - проблема в нём.

Комментарии

Аватар пользователя Semantics Semantics 2 мая 2018 в 9:47

Всё же с логами стоит разобраться, но с серверными.
Из возможных причин - Suhosin малину портит или max_input_vars, в логах ошибок веб-сервера это будет

Аватар пользователя bsc-man bsc-man 2 мая 2018 в 10:45

Проверил - в логах messages и syslog ничего. При нажатии кнопки даже на происходит отправки запроса, я сначала подумал, что страница просто перезапускается, но видимо нет.

Аватар пользователя bsc-man bsc-man 2 мая 2018 в 11:40

Проверил через консоль хрома: js ошибки не выдает.
Лишь одиноко висит предупреждение о сертификате "The SSL certificate will be distrusted in M70"

Аватар пользователя fairrandir fairrandir 4 мая 2018 в 15:42

Три теории:
1. Емнип, настройки для типов материалов хранятся с помощью variable set/get, а значит могут быть жёстко переопределены в settings.php.
2. Возможно как-то завязаны контрибные модули экспорта/импорта типов материалов, которые жёстко задают настройки в коде.
3. Ну и кастом хулиганить может.

В новосозданном типе материала наблюдается такое поведение? Такое поведение у всех типов материала, или одного?

Аватар пользователя bsc-man bsc-man 7 мая 2018 в 16:16

Такое поведение наблюдается у всех типов материалов. Тоже самое при попытке создания типа материала - кнопка "сохранить тип материала" не сохраняет.
Settings.php не менялся, экспорт/импорт типов материалов не используется.
Есть ли возможность как-то отследить ошибку?

Аватар пользователя Semantics Semantics 7 мая 2018 в 16:32

Вы же выше пишите, что даже запрос на сервер не уходит.
Начните с HTML-формы и того, что в браузере происходит.
Может у вас тупо какой-нить JS, который убивает submit

Аватар пользователя bsc-man bsc-man 8 мая 2018 в 12:58

JS не влияет - при включенном JS ошибки не вылетают, если js в браузере отключить - проблема остается.

Заметил, что при создании нового типа материала: если нажать кнопку "сохранить тип материала" - ничего не происходит, а если нажать "сохранить и добавить поля" - новый материал сохраняется в штатном режиме, без нюансов, но в нем потом все равно не работает "сохранить тип материала".

Аватар пользователя bsc-man bsc-man 8 мая 2018 в 15:59

Через devel видно, что проходят запросы типа

INSERT INTO accesslog (title, path, url, hostname, uid, sid, timer, timestamp) VALUES...
и
UPDATE sessions SET....

Но ни одного запроса

UPDATE variable SET...
или
UPDATE node_type SET...
нет.

Аватар пользователя fairrandir fairrandir 8 мая 2018 в 16:12

1. Поставить hacked, посмотреть, может в ядро какие-нибудь изменения вносили.
2. Смотреть что происходит с помощью xdebug.
3. Нудно - отключать по очереди модули, начиная с кастомных, пока не заработает. Если после отключения какого-либо модуля заработает - проблема в нём.

Аватар пользователя bsc-man bsc-man 10 мая 2018 в 9:43

Hacked поставил - все чисто, без проблем.
Оттягивал как мог, но в итоге пришлось отключать поочередно модули - начал с недавно обновленных. Нашел причину - модуль node noindex, при его отключении все работает как надо.

Создал issue к этому модулю на друпал.орг, может найдется решение или патч. Пока что проблема решается отключением модуля.

Спасибо всем за участие и помощь.
Fairrandir, спасибо за "пинок", хотя надеялся миновать проверку модулей)