Стоп, а откуда вы вообще берёте created в Twig-шаблоне комментария? У вас какой-то кастомный препроцесс записывает это значение в отдельную переменную? Потому что у меня (взял первый попавшийся проект из рабочих) в шаблоне комментария сделано так:
Москвабад wrote: 1. Установил чистый Drupal 11
2. Создал пользователей наделив их админскими правами
3. Заходил под именем каждого пользователя и вставлял копии комметариев
Москвабад wrote: В coment_entity_statistics у меня всего одна строка
Нода тоже всего одна на сайте? В любом случае вопрос скорее праздный, поскольку криминала я на ваших скриншотах не увидел.
Есть ещё смутная мысль, что тут присутствует какая-то чехарда с ревизиями материалов. Поле комментария в теории сохраняется в ревизиях ноды также, как и любое другое поле. Вот только хранит ли ревизия поля коммента его даты - тут не могу сказать навскидку.
1. У меня есть мысль, что в таблице сущности комментария (comment_field_data) помимо правки поля created всё же нужно такое же значение (или не менее) ставить и для поля changed. Иначе тут возможны коллизии. Эти два поля обычно стандартные для всех типов сущностей и присутствуют в BaseFieldDefinition во всех случаях.
Москвабад wrote: Выставляю правильный timestamp, а на сайте дата отличается на 2 дня и даже минуты не соответствуют таймстампу.
Почему вы так уверены, что выставляете правильный таймштамп?
Я было хотел посоветовать проверить PHP date.timezone (в php.ini), но поскольку вы сообщаете, что при размещении комментария через форму всё ОК, то причина не в этом.
Остаётся сомнение в "правильных" таймштампах. Как вы их генерируете/получаете?
gun_dose wrote: А почему нельзя сразу сделать один запрос с NOT IN?
Я тут не совсем понял, что подразумевается. NOT IN - вы здесь имеете в виду по значениям полей? По причине множественного поля. Мне же нужно условие "ОТСУТСТВУЕТ ОДНО УКАЗАННОЕ ЗНАЧЕНИЕ". В этом-то весь и цимес, так сказать. Здесь NOT IN не даст нужного эффекта, поскольку другие значения в этом поле будут тоже попадать под условия. Ну, к примеру имеем в рядах полей двух разных сущностей одного типа по две дельты 'key1' и 'key2':
Думаю, в этой ситуации только писать свой модуль. Из "коробки" нет готового решения. Частично что-то можно нагородить рулсами-вьюсами, но соединить всё в органично работающий механизм вряд ли получится.
Потому что просто так костылить формы модулей ядра не получится.
Например, помимо атрибутов а-ля required полей формы - есть PHP-методы валидации форм (вызываются перед сабмит-методами класса), где так же производится проверка полей.
Думаю, следует просто подождать, пока модераторы одобрят ваш аккаунт. Видимо, что-то когда-то меняли в политике сайта. А вы, видимо, давно не заходили.
Я думаю, что иначе, как тупо отключать внутренний/динамический кеш страниц не получится решить вопрос. Решение так себе (мягко говоря), но если прям очень важно, то можно попытаться отключить что-то из Internal Dynamic Page Cache или Internal Page Cache (скорее второе навскидку).
Популярные материалы - скорее всего блок работает на основе модуля statistics (считает кол-во просмотров каждого материала). Возможно, стоит проверить, включен ли модуль. Да и во views блока тоже стоит заглянуть - какая там ситуация.
Некорректное время публикации комментариев
Некорректное время публикации комментариев
PS. Открываем stable9 и находим шаблон
comment.html.twig
. В комментарии вверху шаблона видим такие строчки:Некорректное время публикации комментариев
Стоп, а откуда вы вообще берёте
created
в Twig-шаблоне комментария? У вас какой-то кастомный препроцесс записывает это значение в отдельную переменную? Потому что у меня (взял первый попавшийся проект из рабочих) в шаблоне комментария сделано так:Некорректное время публикации комментариев
Пробел между date и её аргументами совсем не нужен. Честно говоря, я бы и вокруг оператора
|
убрал все пробелы:Некорректное время публикации комментариев
И что? Не понял смысл месседжа.
Некорректное время публикации комментариев
Нода тоже всего одна на сайте? В любом случае вопрос скорее праздный, поскольку криминала я на ваших скриншотах не увидел.
Есть ещё смутная мысль, что тут присутствует какая-то чехарда с ревизиями материалов. Поле комментария в теории сохраняется в ревизиях ноды также, как и любое другое поле. Вот только хранит ли ревизия поля коммента его даты - тут не могу сказать навскидку.
Некорректное время публикации комментариев
1. У меня есть мысль, что в таблице сущности комментария (comment_field_data) помимо правки поля created всё же нужно такое же значение (или не менее) ставить и для поля changed. Иначе тут возможны коллизии. Эти два поля обычно стандартные для всех типов сущностей и присутствуют в BaseFieldDefinition во всех случаях.
Некорректное время публикации комментариев
Вы что-то частично наконвертили не то. Проверил через свой конвертер дат (сделал когда-то на локалке).
1736307164 - это вообще сегодняшний день. А именно 08.01.2025 - 06:32:44
1727969955 у меня конвертируется как 03.10.2024 - 18:39:15. Т.е. здесь всё верно.
Некорректное время публикации комментариев
Почему вы так уверены, что выставляете правильный таймштамп?
Я было хотел посоветовать проверить PHP date.timezone (в php.ini), но поскольку вы сообщаете, что при размещении комментария через форму всё ОК, то причина не в этом.
Остаётся сомнение в "правильных" таймштампах. Как вы их генерируете/получаете?
Помощь с hook_entity_update, hook_entity_presave
Друпал 7 и 11 на одном сервере
Ещё как вариант - запустить MariaDB 10.3.39 в Docker'е для D7 (если получится с докером справиться).
D8,9,10: EntityQuery condition: множественное поле типа checkboxes НЕ СОДЕРЖИТ значение - как проще?
Я тут не совсем понял, что подразумевается. NOT IN - вы здесь имеете в виду по значениям полей? По причине множественного поля. Мне же нужно условие "ОТСУТСТВУЕТ ОДНО УКАЗАННОЕ ЗНАЧЕНИЕ". В этом-то весь и цимес, так сказать. Здесь NOT IN не даст нужного эффекта, поскольку другие значения в этом поле будут тоже попадать под условия. Ну, к примеру имеем в рядах полей двух разных сущностей одного типа по две дельты 'key1' и 'key2':
D8,9,10: EntityQuery condition: множественное поле типа checkboxes НЕ СОДЕРЖИТ значение - как проще?
Исключительно из-за того, что вы не телепат, скромный ликбез.
D8,9,10: EntityQuery condition: множественное поле типа checkboxes НЕ СОДЕРЖИТ значение - как проще?
Освежу тему, вновь актуально.
Не появились мысли/идеи ни у кого?
Каждому админу свои пользователи
Думаю, в этой ситуации только писать свой модуль. Из "коробки" нет готового решения. Частично что-то можно нагородить рулсами-вьюсами, но соединить всё в органично работающий механизм вряд ли получится.
Email не получается сделать необязательным при регистрации
PS. https://www.drupal.org/project/optional_email
Модуль, судя по всему, в dev'е, но если вдруг не заработает - хотя бы можете посмотреть код, как это потенциально решается.
Email не получается сделать необязательным при регистрации
Потому что просто так костылить формы модулей ядра не получится.
Например, помимо атрибутов а-ля required полей формы - есть PHP-методы валидации форм (вызываются перед сабмит-методами класса), где так же производится проверка полей.
Что ещё за подтверждение учетной записи?
Как некуда? Есть же контакты: https://drupal.ru/about/team
Что ещё за подтверждение учетной записи?
Думаю, следует просто подождать, пока модераторы одобрят ваш аккаунт. Видимо, что-то когда-то меняли в политике сайта. А вы, видимо, давно не заходили.
Commerce или кастомное решение?
Да реализуемо. Но писать придётся прилично. Собственно, для коммерца в случае кастомизации тоже обычно нужно писать немало.
Чем заменить уже не поддерживающиеся модули в Drupal 7?
Не потеряете. На самом деле причин потерять данные намного больше в других случаях.
Чем заменить уже не поддерживающиеся модули в Drupal 7?
Что критического в этих сообщениях, кроме того, что модули не поддерживаются? Что мешает использовать их далее?
Модуль statistic
Я думаю, что иначе, как тупо отключать внутренний/динамический кеш страниц не получится решить вопрос. Решение так себе (мягко говоря), но если прям очень важно, то можно попытаться отключить что-то из Internal Dynamic Page Cache или Internal Page Cache (скорее второе навскидку).
Экспорт данных API
Через хуки
hook_entity_insert
/hook_entity_presave
и (например) Guzzle HTTP client.Насчёт готового - не знаю.
Вывод в колонке двух блоков
Популярные материалы - скорее всего блок работает на основе модуля statistics (считает кол-во просмотров каждого материала). Возможно, стоит проверить, включен ли модуль. Да и во views блока тоже стоит заглянуть - какая там ситуация.