Кстати, да! Это наиболее гибкий подход. Вообще не подумал об этом. Форматтер удобнее во всех смыслах, конечно.
Единственное "но": если нужно в шаблоне параллельно выводить и оригинальное значение без калькуляции, то это уже некоторая проблема. Навскидку не помню, можно ли в Twig'e вывести поле с другим форматтером.
chelwolf wrote: Как сделать функцию twig, чтобы мы не присваивали значение глобальной переменной для вывода, а делали расчёт в шаблоне подставляя нужные значения? Или нужно это в какую-то переменную выносить для каждой ноды и потом подставлять готовое значение по nid?
mmjmm wrote: И написать функцию:
public function ajaxSetCurrentDateCallback(array &$form, FormStateInterface $form_state){
$form_state->setValue('topicality', date("Y-m-d"));
}
1. При таком варианте изменение значения в $form_state не изменится без ребилда формы. Вот такое даст больше шансов:
Просто нужно выбирать пак бутстрепа со всеми примочками, а не только само ядро. Компоненты бутстрепа могут быть и в виде отдельной библиотеки в полном паке.
Ну, судя по вашим ответам выше, тут скорее всего п.3. То есть, в директории (которая всё же не является корнем Друпала) нет вообще никакого index.php. Отсюда поведение веб-сервера по умолчанию - т.е. отображение файлового содержимого запрошенного каталога.
1. Если кинете в эту папку просто пустой index.html и сервер даст пустую страницу - значит DirectoryIndex настроен для index.html
2. Если кинете в эту папку просто пустой index.php и сервер даст пустую страницу - значит DirectoryIndex также настроен для index.php, а также .php-файлы обрабатываются верно апачем.
1. Апач не обрабатывает .php-файлы (не привязан Handler)
2. В конфе апача не прописан DirectoryIndex
3. А что вообще за каталог на скриншоте? Это не похоже на корень Друпала.
Решить вопрос синонимами не пробовали?
Скажем путь представления - любой произвольный, например, /news_rss, а далее для него создать синоним уже вида /news/rss.xml
buddy90210 wrote: При запросе, если значение сессии не существует, я его определяю и инвалидирую кэш по соответствующему тегу (который у меня уже был определен) и контроллер отрабатывает как ожидалось.
buddy90210 wrote: Для авторизованных пользователей все отлично работает. А вот для анонимов данное значение попадает в кэш и всегда одинаково для всех анонимов.
Drupal 8-9: Как передать данные формы в другое место сайта?
Как ни крутил вопрос - так и не понял, почему это "другое место". Форма загружается из блока. Но ведь в блоке вам нужен и результат.
Тогда в вашей сабмит-функции можно так:
Как использовать функцию diff в twig? Или как ещё можно посчитать разницу между датами в Drupal 9?
Кстати, да! Это наиболее гибкий подход. Вообще не подумал об этом. Форматтер удобнее во всех смыслах, конечно.
Единственное "но": если нужно в шаблоне параллельно выводить и оригинальное значение без калькуляции, то это уже некоторая проблема. Навскидку не помню, можно ли в Twig'e вывести поле с другим форматтером.
Как использовать функцию diff в twig? Или как ещё можно посчитать разницу между датами в Drupal 9?
Да, это.
PHP в Друпал 10. Ура!
Теперь точно в космос полетим?!
Как использовать функцию diff в twig? Или как ещё можно посчитать разницу между датами в Drupal 9?
По ссылке пример использования встроенного в PHP класса DateTime, что поддерживается Twig'ом (вроде бы).
Но вы используете объекты даты/времени Друпала, судя по всему. А это как бы "другое".
Смена значения поля "date" с помощью ajax
1. При таком варианте изменение значения в $form_state не изменится без ребилда формы. Вот такое даст больше шансов:
Слайдер для drupal9 с адаптацией под bootstarp5
Просто нужно выбирать пак бутстрепа со всеми примочками, а не только само ядро. Компоненты бутстрепа могут быть и в виде отдельной библиотеки в полном паке.
"Index of" при открытии сайта
Ну, судя по вашим ответам выше, тут скорее всего п.3. То есть, в директории (которая всё же не является корнем Друпала) нет вообще никакого index.php. Отсюда поведение веб-сервера по умолчанию - т.е. отображение файлового содержимого запрошенного каталога.
1. Если кинете в эту папку просто пустой index.html и сервер даст пустую страницу - значит DirectoryIndex настроен для index.html
2. Если кинете в эту папку просто пустой index.php и сервер даст пустую страницу - значит DirectoryIndex также настроен для index.php, а также .php-файлы обрабатываются верно апачем.
"Index of" при открытии сайта
Либо-либо:
1. Апач не обрабатывает .php-файлы (не привязан Handler)
2. В конфе апача не прописан DirectoryIndex
3. А что вообще за каталог на скриншоте? Это не похоже на корень Друпала.
Как определить путь для представления типа /news/rss.xml ?
Не знаю, докер не использую. Видимо, как обычно, искать где-то в /etc/apache2/conf
Как определить путь для представления типа /news/rss.xml ?
Ну вы не указали версию, но, скажем, в дефолтном .htaccess для D9 отсутствует какая-либо спец.обработка для .xml - и вообще нет никаких упоминаний.
1. Возможно, где-то в конфе апача на докере что-то прописано. Мне кажется это самым первым кандидатом.
2. Либо, как вариант - какой-то друпаловский хендлер криво обрабатывает запросы .xml. Может, кастомный модуль.
Как определить путь для представления типа /news/rss.xml ?
Попробуйте определить и выделить проблемные части пути для указанного вами адреса /news/rss.xml.
Например:
/news - ok
/news/rss - ok
/news/rss.xml - fail
Возможно, что-то подскажет. Может, в докере где-то специальные дополнительные настройки переадресации апача для файлов .xml
.htaccess полностью идентичен тому, что на сетевом хостинге?
Как определить путь для представления типа /news/rss.xml ?
Решить вопрос синонимами не пробовали?
Скажем путь представления - любой произвольный, например, /news_rss, а далее для него создать синоним уже вида /news/rss.xml
Как определить путь для представления типа /news/rss.xml ?
Судя по параметру ?q= пытается перенаправить на корневой index.php
Вы пробовали указывать путь представления без слеша в начале (или наоборот) ?
После обновления и перехода на CKEDITOR 5 в блоке не работает текстовой редактор
С какой версии на какую обновлялись?
Сессии для анонимов и кэш.
Сессии для анонимов и кэш.
Сессии хранятся 2 недели (если не ошибаюсь) по умолчанию.
Сессии для анонимов и кэш.
Fatal error после включения PHP 8
Тривиальный вопрос, но всё же: кеш Друпала чистили после смены версии PHP?
Deprecated function: Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)`
Строго говоря, я бы в любом случае не решился на такую конструкцию без скобок. ) Так как даже самому сложно понять, что будет происходить.
Checkboxes and lists with form #states API.
А мы-то тут стараемся ))
В целом напомнило:
Checkboxes and lists with form #states API.
Seems like this is really core bug.
Another fresh patch for this: https://www.drupal.org/project/drupal/issues/2731991 (#50)
Checkboxes and lists with form #states API.
https://www.drupal.org/forum/support/module-development-and-code-questio...
Have you tried this?
PS. Is your second field multiple?
Checkboxes and lists with form #states API.
Checkboxes and lists with form #states API.
Can you provide some proof link?