Заголовок новости почемуто не обязателен?

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

Аватар пользователя cwpnaWLs7M4a cwpnaWLs7M4a 7 июня в 23:29

Чтото переклинило в друпале 10 можно попробовать сохранить страницу без заголовка

при сохранении выходит ошибка и тело материала теряется:

[Fri Jun 07 21:16:57.446025 2024] [php:notice] [pid 1194775] [client 109.172.13.224:65312] Uncaught PHP Exception Drupal\\Core\\Entity\\EntityStorageException: "SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'title' c
annot be null: INSERT INTO "node_field_data" ("nid", "vid", "type", "langcode", "status", "uid", "title", "created", "changed", "promote", "sticky", "default_langcode", "revision_translation_affected", "published_at") VALUES (:db_i
nsert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :d
b_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11, :db_insert_placeholder_12, :db_insert_placeholder_13); Array\n(\n [:db_insert_placeholder_0] => 217911\n [:db_insert_placeholder_1] => 378862\n
[:db_insert_placeholder_2] => news\n [:db_insert_placeholder_3] => ru\n [:db_insert_placeholder_4] => 0\n [:db_insert_placeholder_5] => 12229\n [:db_insert_placeholder_6] => \n [:db_insert_placeholder_7] => 171778388
1\n [:db_insert_placeholder_8] => 1717784217\n [:db_insert_placeholder_9] => 1\n [:db_insert_placeholder_10] => 0\n [:db_insert_placeholder_11] => 1\n [:db_insert_placeholder_12] => 1\n [:db_insert_placeholder_13]
=> \n)\n" at /var/www/thesite.com/public_html/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php line 817, referer: https://www.thesite.com/node/add/news

а должно быть так:

Как исправить чтобы заголовок не давал сохранить?

Комментарии

Аватар пользователя OldWarrior OldWarrior 8 июня в 1:44

А никаких сторонних модулей, потенциально влияющих на базовые поля формы материала, не установлено?

PS. С точки зрения Entity API - эта ситуация нештатная (ненормальная), поскольку для сущностей типа Node поле title определено в базовом наборе полей сущности (т.е. оно не является филдованным виджетом с произвольными настройками хранилища и/или параметров виджета, как любые другие произвольные поля). Поэтому свойство required должно устанавливаться в TRUE и обрабатываться методом BaseFieldDefinition класса сущности Node без возможности изменить значение этого свойства через какие-либо пользовательские интерфейсы. Однако, с помощью хуков сторонних модулей потенциально можно повлиять на базовое значение этого свойства для каких-то типов сущностей. Отсюда и вопрос выше.

Ну и кеш всё же стоит попробовать почистить - если ещё не делали этого.

PPS. Ещё вспомнил. Сейчас вроде поля с признаком required должны проходить валидацию на стороне браузера. Однако, инициируется ли при этом валидация полей конкретно сущностей Node в сабмит-функциях - не могу сказать, просто пока не копал вопрос. Т.е. всё же допускаю вариант, что кроме клиентской валидации поля заголовка у Node в D10 больше ничего уже и нет. Хотя это было бы несколько странно.

Аватар пользователя cwpnaWLs7M4a cwpnaWLs7M4a 8 июня в 7:57

спасибо за ответ. там есть все что было вами упомянуто. модерируемый материал (Workflows), computed field, 2 самописных модуля для статистики, 2 по безопасности (Security Kit и Permissions Policy).
пробовал очищать кэш, и перестраивать доступы. не помогло.
попробую на тестовом сайте постепенно отключать модули.

Аватар пользователя OldWarrior OldWarrior 8 июня в 16:04

Я бы в первую очередь обратил бы внимание именно на самописные модули. Кто их знает, что там кроме механики для статистики. Иной раз такие чудеса обнаруживаются.