Большинство полей в D9 (по крайней мере - поля с произвольным текстовым вводом) имеют встроенную поддержку placeholder (в настройках отображения формы это "Заполнитель").
Потому что это программный роут (т.е. системный путь) Друпала, а не физический файл. Иными словами, sitemap.xml создаётся и отдаётся в браузер "на лету".
Если не ошибаюсь, то базовую валидацию (при сабмите) номера телефона делает поле типа "tel". Однако, если нужна именно маска ввода, то, как указали выше, нужно подключать библиотеки типа InputMask.
На самом деле имея кучу ошибок в консоли - крайне сложно разобраться с причиной того, почему перестаёт работать JS. Возможно, какой-то один из JS-скриптов в итоге приводит к фатальной ошибке и "падению" всей дальнейшей JS-обработки. Поэтому лучше сразу разбираться со всеми ошибочными сообщениями.
marassa wrote: дисейблить джаваскриптом кнопку Сабмит первым делом после ее нажатия, чтобы никакой тремор конечностей не мог привести к многократной отправке одной и той же формы
Я как-то не совсем понял, в чём тут затруднение. Ну добавьте в ::build() условие - типа есть результаты или же нет их и в зависимости от этого меняйте ввод. Например, как-то так:
Я не уверен, что в случае с Views происходит именно так, как я сейчас скажу, но думаю стоит проверить. Друпал ^8 обычно кеширует любые страницы для анонимов по умолчанию. И даже порой при программном написании контроллера какой-то страницы/формы приходится специально думать о том, чтобы так или иначе подавить её кеширование для анонимов (если оно не нужно). То есть, возможно, имеет смысл просто отключить кеш этого представления.
Я позднее обнаружил (и, надеюсь, вы поняли), что в примере на автомате допустил ошибку в типе параметра &$form. В современных версиях PHP передача параметра как ссылки (&) не допускается. Т.е. правильно:
Вы же кешируете весь список нод с ОДИНАКОВЫМ тегом. Всё закономерно. Любое изменение любой ноды из этого списка, вызовет обновление всего кеша, маркированного этим тегом.
...Most themes will use a global-styling asset library, for the stylesheets (CSS files) that need to be loaded on every page where the theme is active. It is also possible to do with JS via a global-scripts asset library...
Он отрендерился, но вы же ничего не возвращаете из ::submitForm() и ничего не меняете в $form. Следовательно, build-структура формы остаётся неизменной. Если была хотя бы такая попытка:
Не могу получить имя пользователя
Deprecated
Используйте
$user->getDisplayName()
Размещение роликов Youtube Drupal 7
Добавить тег в разрешённые для выбранного текстового фильтра ввода.
Отсутствие версии модуля для Drupal 9
Большинство полей в D9 (по крайней мере - поля с произвольным текстовым вводом) имеют встроенную поддержку placeholder (в настройках отображения формы это "Заполнитель").
Получить значение поля формы
Первый вопрос: где именно получить - т.е. на каком шаге?
$form_state->getValue('FIELD_NAME')
работает в функции сабмита (т.е. после отправки формы) и возвращает значение запрошенного поля.Sitemap
Потому что это программный роут (т.е. системный путь) Друпала, а не физический файл. Иными словами, sitemap.xml создаётся и отдаётся в браузер "на лету".
Как добавить проверку для поля телефон в форме
Если не ошибаюсь, то базовую валидацию (при сабмите) номера телефона делает поле типа "tel". Однако, если нужна именно маска ввода, то, как указали выше, нужно подключать библиотеки типа InputMask.
Не работают js скрипты и не открывается окно popup на некоторых страницах сайта Dupal 8.9
На самом деле имея кучу ошибок в консоли - крайне сложно разобраться с причиной того, почему перестаёт работать JS. Возможно, какой-то один из JS-скриптов в итоге приводит к фатальной ошибке и "падению" всей дальнейшей JS-обработки. Поэтому лучше сразу разбираться со всеми ошибочными сообщениями.
Не работают js скрипты и не открывается окно popup на некоторых страницах сайта Dupal 8.9
Судя по консоли:
1. Ресурс с «https://kfmk-modul.ru/js/date.js» был заблокирован из-за несоответствия MIME-типа («text/html») (X-Content-Type-Options: nosniff).
Запрос Друпал к БД
Метод
loadByProperties
не поддерживает операторы типа OR и тем более - вложенную группировку условий.Уместнее обычный
::entityQuery()
, а-ля:Как предотвратить размещение нескольких комментариев вместо одного.
Как раздробить фильтры на части в друпал9
Поясните.
Создать тему для д9 плюс небольшие настройки
Судя по всему, уместнее говорить не о теме, а о клонировании сайта.
Как добавить к кастомному блоку текст о том что нет результатов поиска для такого-то введенного слова?
Я как-то не совсем понял, в чём тут затруднение. Ну добавьте в
::build()
условие - типа есть результаты или же нет их и в зависимости от этого меняйте ввод. Например, как-то так:ПРоблема с темой - не подключаются библиотеки
Нет. В соответствии со стандартами D8/9 расширение должно быть именно
.theme
Кешированье представление только для анонимных пользователей. Возможно ли и нужно ли?
И? Каковы результаты? Кешируется для анонимов?
Кешированье представление только для анонимных пользователей. Возможно ли и нужно ли?
Я не уверен, что в случае с Views происходит именно так, как я сейчас скажу, но думаю стоит проверить. Друпал ^8 обычно кеширует любые страницы для анонимов по умолчанию. И даже порой при программном написании контроллера какой-то страницы/формы приходится специально думать о том, чтобы так или иначе подавить её кеширование для анонимов (если оно не нужно). То есть, возможно, имеет смысл просто отключить кеш этого представления.
$form_state->getValues() - сортировка полученных значений как настроено в Управлении отображением
Я позднее обнаружил (и, надеюсь, вы поняли), что в примере на автомате допустил ошибку в типе параметра
&$form
. В современных версиях PHP передача параметра как ссылки (&) не допускается. Т.е. правильно:Кешированье представление только для анонимных пользователей. Возможно ли и нужно ли?
Настроить кеширование по времени - не вариант? Скажем, 5 мин.
Кеш не работает
Вы же кешируете весь список нод с ОДИНАКОВЫМ тегом. Всё закономерно. Любое изменение любой ноды из этого списка, вызовет обновление всего кеша, маркированного этим тегом.
А проблемы начинаются примерно отсюда:
$form_state->getValues() - сортировка полученных значений как настроено в Управлении отображением
https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Render%21...
ПРоблема с темой - не подключаются библиотеки
https://www.drupal.org/docs/theming-drupal/adding-assets-css-js-to-a-dru...
Почему блок вьюшки не отрендерился под поисковым полем формы?
Он отрендерился, но вы же ничего не возвращаете из
::submitForm()
и ничего не меняете в$form
. Следовательно, build-структура формы остаётся неизменной. Если была хотя бы такая попытка:выод списка USERов
1. /admin/structure/views/add ("Структура" > "Представления" > "Добавить представление")
2. "Настройки страницы" : "Создать страницу"
выод списка USERов
Тип представления: Страница/Page
Как дать класс родителю в HOOK preprocess_input__textfield
<?php
...
$vars['#wrapper_attributes']['class'][] = "...";
...
?>