new-art21 wrote: Если картинку надо загружать в product variation type, а фиксированные значения в product type, то выведется ли потом эта картинка во views корзины?
Корзина - это Views, как вы верно отметили. А отдельно взятый вьюс как правило всегда можно перепилить под собственные нужды. По умолчанию вам предлагается поле картинки размещать в вариациях - следуйте этому, поскольку изображение может отличаться именно в зависимости от вариации. А помимо корзины на карточке товара тоже нужны изображения вариаций.
riaron777 wrote: на что поменять reset()(current())
Ни бельмеса не понял, чего вообще хотели добиться этой конструкцией. Да и задавать подобные вопросы в отрыве от контекста (в вышеприведённом коде не вижу такой химии) - как правило непродуктивно.
riaron777 wrote: Calling current() on an object is deprecated
Скорее всего, у вас текущая версия PHP > 8.1.0. Понижайте версию:
PS. Честно говоря, идея хранить имя пользователя (и впоследствии указывать его как условие загрузки сущностей) выглядит как-то не очень. Лучше - ID пользователя, да и поле 'field_polzovatel' можно тогда сделать ссылкой на сущность пользователя.
Большинство полей в D9 (по крайней мере - поля с произвольным текстовым вводом) имеют встроенную поддержку placeholder (в настройках отображения формы это "Заполнитель").
Потому что это программный роут (т.е. системный путь) Друпала, а не физический файл. Иными словами, sitemap.xml создаётся и отдаётся в браузер "на лету".
Если не ошибаюсь, то базовую валидацию (при сабмите) номера телефона делает поле типа "tel". Однако, если нужна именно маска ввода, то, как указали выше, нужно подключать библиотеки типа InputMask.
На самом деле имея кучу ошибок в консоли - крайне сложно разобраться с причиной того, почему перестаёт работать JS. Возможно, какой-то один из JS-скриптов в итоге приводит к фатальной ошибке и "падению" всей дальнейшей JS-обработки. Поэтому лучше сразу разбираться со всеми ошибочными сообщениями.
marassa wrote: дисейблить джаваскриптом кнопку Сабмит первым делом после ее нажатия, чтобы никакой тремор конечностей не мог привести к многократной отправке одной и той же формы
Я как-то не совсем понял, в чём тут затруднение. Ну добавьте в ::build() условие - типа есть результаты или же нет их и в зависимости от этого меняйте ввод. Например, как-то так:
Я не уверен, что в случае с Views происходит именно так, как я сейчас скажу, но думаю стоит проверить. Друпал ^8 обычно кеширует любые страницы для анонимов по умолчанию. И даже порой при программном написании контроллера какой-то страницы/формы приходится специально думать о том, чтобы так или иначе подавить её кеширование для анонимов (если оно не нужно). То есть, возможно, имеет смысл просто отключить кеш этого представления.
Я позднее обнаружил (и, надеюсь, вы поняли), что в примере на автомате допустил ошибку в типе параметра &$form. В современных версиях PHP передача параметра как ссылки (&) не допускается. Т.е. правильно:
Вы же кешируете весь список нод с ОДИНАКОВЫМ тегом. Всё закономерно. Любое изменение любой ноды из этого списка, вызовет обновление всего кеша, маркированного этим тегом.
D9 commerce - добавление в корзину вариации
ИМХО, как-то похоже на перепиленную кнопку (или всю форму) добавления товара в корзину. Возможно, тема оформления глючит?
Для эксперимента можно попробовать какие-то сторонние модули добавления в корзину. Например, Commerce Add To Cart Link
product type или product variation type - что правильно заполнять
Корзина - это Views, как вы верно отметили. А отдельно взятый вьюс как правило всегда можно перепилить под собственные нужды. По умолчанию вам предлагается поле картинки размещать в вариациях - следуйте этому, поскольку изображение может отличаться именно в зависимости от вариации. А помимо корзины на карточке товара тоже нужны изображения вариаций.
product type или product variation type - что правильно заполнять
Не могу получить имя пользователя
Не могу получить имя пользователя
Ни бельмеса не понял, чего вообще хотели добиться этой конструкцией. Да и задавать подобные вопросы в отрыве от контекста (в вышеприведённом коде не вижу такой химии) - как правило непродуктивно.
Скорее всего, у вас текущая версия PHP > 8.1.0. Понижайте версию:
Не могу получить имя пользователя
PS. Честно говоря, идея хранить имя пользователя (и впоследствии указывать его как условие загрузки сущностей) выглядит как-то не очень. Лучше - ID пользователя, да и поле 'field_polzovatel' можно тогда сделать ссылкой на сущность пользователя.
Не могу получить имя пользователя
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 мин.
Кеш не работает
Вы же кешируете весь список нод с ОДИНАКОВЫМ тегом. Всё закономерно. Любое изменение любой ноды из этого списка, вызовет обновление всего кеша, маркированного этим тегом.
А проблемы начинаются примерно отсюда: