gera8774: Блог

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

Помощь с hook_entity_update, hook_entity_presave

20 ноября в 9:36

Здравствуйте! Не могу сообразить, как решить задачу на Drupal 10.
Есть роли Автор и Редактор.
Автор создает свой материал. По умолчанию он не опубликован. Поле публикации в планах скрыть от авторов.
Редактор смотрит материал. И далее:
1) если всё ок, ставит галочку публикации, сохраняет, и материал публикуется

Ограничение вариантов поля в зависимости от значения предыдущего поля

29 октября в 15:27

Всем привет! Есть словарь терминов Подразделения. Типа:

-Бухгалтерия
-Коммерческая служба
---Офис обслуживания клиентов
---метно-договорной отдел - СДО
-Канцелярия

Есть тип материала Должность (бухгалтер, инженер и т.д.). У каждой должности указано, к какому подразделению она относится (есть должности, которые могут относиться к разным подразделениям)

Rules в drupal 10

15 октября в 14:23

Всем привет!
А что с полями в drupal 10 в рулесах? Или это я чего то не догоняю?
Раньше в 7 было например, указываешь условие "сущность имеет поле" и это поле становится доступно в селекторе. А теперь так не работает. Заголовок, автор, время создания и прочее - пожалуйста. А вот созданные поля - никак не появляются.

Разное отображение личного кабинета

14 октября в 15:40

Добрый день! Есть необходимость создания двух шаблонов для отображения личного кабинета
1) ЛК, который видит пользователь сам у себя
2) ЛК, который видят все остальные
Как это можно реализовать на 10?

Каждому админу свои пользователи

25 сентября в 14:57

Добрый день!
На сайте несколько пользователей с правами доступа к редактированию юзеров (т.к. у компании несколько филиалов, у каждого филиала свои сотрудники). Нужно разделить юзеров между этими пользователями. То есть, например есть филиал1-админ1, филиал2-админ2 и филиал3-админ3.
При регистрации пользователь заполняет поле Филиал, к примеру, Филиал2, и после этого информация о новом пользователе уходит Админу2, и он может активировать его аккаунт.
Возможно есть какое-то готовое решение для такой задачи?

Изменить размер title commerce product

8 августа в 13:39

Всем привет! Не влезают названия некоторых товаров. Как можно увеличить допустимое количество символов в product title? Drupal 10
На 7 как я понимаю, можно было сделать с помощью
hook schema_alter
hook_update
form_commerce_product_product_form_alter
Ну или как-то так.
Не могу найти аналог hook schema_alter для 10
Или нужно как-то по-другому?

Экспорт данных API

2 августа в 14:09

Всем привет! Стоит задача (drupal 10): нужно, чтобы при создании пользователя на drupal этот пользователь также создавался на другом сайте с помощью такой вот функции:

Нестандартная задача на drupal 10

3 июня в 10:15

Всем привет! Сразу скажу, что есть варианты решения задачи, но они мне кажутся "неправильными". Очень не хотелось бы использовать костыли, а для нахождения правильного способа реализации мне не хватает опыта и знаний. В общем, хочу, чтобы было красиво и, если после меня этот проект кому-то достанется, никому не пришлось бы страдать.

Отправка сообщений пользователям

29 мая в 11:31

Всем привет! Подскажите пожалуйста, как можно реализовать возможность отправки личных сообщений пользователям на drupal 10? Нужно, чтобы пользователи могли писать друг другу личные сообщения.

Структура папок и ссылок drupal 10

26 мая в 23:09

Всем привет! Развернули сайт на drupal 10 через composer
Структура папок такая:
composer.json
composer.lock
.editorconfig
.gitattributes
vendor/
public_html -> web/ -- симлинк на web/
web/

В настройках самого сайта корневая папка public_html
Сайт работает, но все ссылки в админке несут на /web/admin/... - в итоге страница не найдена
Убираю руками web - работает
Вывожу где-то ссылку например /about - уносит на /web/about - 404
убираю руками web - работает

Что не так?

Интеграция с другим сайтом через API

16 апреля в 13:11

Здравствуйте! Есть сайт drupal-example.ru (на drupal 10) В нем есть тип материала Курс
Есть сайт courses-example.ru на другой cms. Там есть сущность Курс и функция для выгрузки всех курсов.
Запрос выглядит примерно так:
https://courses-example.ru/webservice/rest/server.php?wstoken='ключ'&wsfunction=core_course_get_courses&wsrestformat=json
Данные приходят в таком виде:

Уведомления при новых комментариях

18 марта в 23:33

Всем здравствуйте!
Нужно при сохранении нового комментария к ноде отправлять уведомление автору ноды и автору комментария. Сначала пробовала rules, но, если на семерке всё было понятно, то на девятке я это не могу освоить. Возможно, что-то не доустановлено, но данные для ввода вообще не берутся, никакие, и даже не предлагаются.
Решила пойти другим путем: Использую hook_entity_presave
Прописываю условие
if ($entity->getEntityTypeId() == 'comment' && $entity->bundle() == 'polzovatelskiy_kommentariy') {
отправить письмо
}

Настройка ролей

17 января в 11:55

Здравствуйте! Мне необходимо, чтобы зарегистрированные пользователи могли создавать (только создавать!) материалы определенного типа, но при этом, чтобы каждый мог видеть только свои материалы. То есть, если он перейдет по ссылке чужого материала, он должен получать сообщение, что у него нет прав для просмотра данной страницы. Как закрыть доступ к чужим материалам?

Экспорт view в pdf, word по шаблону

21 сентября 2023 в 20:11

Всем здравствуйте! Формирую через вьюс данные пользователей. Нужно, чтобы данные каждого пользователя формировались в документ альбомной ориентации с фоновым изображением на весь лист. Установлен views data export. В принципе с ним различные варианты документов формировались замечательно, пока дело не дошло именно до альбомной ориентации. Возможно, есть вариант перевернуть документ, но я пошла смотреть вариант с пдф. Есть модуль Views Data Export PDF, к нему установлены wkhtmltopdf и mPDF. Не могу разобраться. Формируется постоянно пустой файл.

Задать значение для поля field collection

1 июня 2023 в 14:18

Всем здравствуйте! Есть тип материала contracts, среди его полей есть поле field_extras - тип field collection.
В этой коллекции есть поле field_extra_number - это порядковый номер, принимает целое число. Я хочу задавать его программно, но не получается.
Пробую с помощью hook_node_presave примерно так:

Авторизация на drupal с другого сайта

15 мая 2023 в 13:43

Всем здравствуйте! На одном сервере есть два сайта. Один на drupal, второй - moodle. В moodle очень много пользователей. Мне надо, чтобы один из них авторизовывался на moodle и автоматически эта авторизация синхронизировалась на drupal. Есть модуль https://www.drupal.org/project/moodle_sso

Вывести блок программно drupal7

28 февраля 2023 в 14:17

Всем привет! Давно не было в работе drupal, всё забылось. Вопрос такой
Вот тут /admin/structure/block у меня есть Содержимое, в котором выводится несколько блоков. Пару из них я хочу выдернуть из содержимого и вывести программно под Содержимым. Вывожу с помощью
print render(module_invoke('views', 'block_view', 'block_name'));

Автодополнение в строке поиска

10 сентября 2022 в 17:55

Всем привет! Сайт на drupal 9. Использую commerce, search api, на странице поиска вывожу вариации товаров. Поиск работает. Нужно настроить автодополнение в строке поиска. Пытаюсь настроить search_api_autocomplete
Но сталкиваюсь с проблемами:
1) поиск дополняется заголовками товара, а мне нужны заголовки вариаций. При попытке перенастроить на вариации строка поиска вообще перестает выдавать варианты.
2) Вариации получаю только если вместо живого поиска выбираю поиск с сервера. Но тогда в автодополнении вижу машинные имена вариаций, что меня тоже не устраивает.

Drupal 9 Commerce контекстный фильтр в представлении вариаций товаров

9 сентября 2022 в 17:37

Всем здравствуйте! Создаю представление-блок всех вариаций всех товаров. Вывожу только поле id вариации. Вывожу этот блок на страницах вариаций товаров, вижу id всех вариаций на странице каждой вариации. Возвращаюсь в представление. Добавляю контекстный фильтр Product variation: ID ->Передать значение по умолчанию->Product variation id from url

D9 commerce - добавление в корзину вариации

4 сентября 2022 в 21:46

Всем привет! У меня магазин на commerce. Есть товары, у каждого товара есть несколько вариаций, у каждой вариации своя цена и своя информация. При добавлении в корзину по факту добавляется не та вариация. То есть, например, у товара есть вариации А, В, С. Я захожу в карточку товара вариации В, добавляю ее в корзину, потом захожу в карточку С, добавляю в корзину. Затем захожу в корзину, и там у меня список:
А
А
Как я понимаю, добавляется только одна вариация, независимо от того, какую ты на самом деле хотел добавить. Где это исправляется?

Search API Autocomplete поиск по вариациям

21 июля 2022 в 23:04

Всем привет! На сайте используется модуль Search API Autocomplete
Поиск по товарам работает отлично. Но мне нужен поиск именно по вариациям. По ним живой поиск не работает, а только поиск с сервера. Хотя настройки задаю одинаково
https://i.imgur.com/xANQKVX.png
https://i.imgur.com/8MvkXP9.png
Кто-нибудь может помочь разобраться?

Обновление модулей D7

15 июля 2022 в 11:40

Всем привет! Поступила задача: составить список необходимых обновлений для сайта для выставления счета (ничего не делать, пока счет не будет оплачен). Сайт разрабатывался давно, кем и когда - неизвестно, но он у нас на поддержке. Возникла проблема:
12 июля в доступных обновлениях было 6 модулей
14 июля - 12 модулей + ядро
15 июля - уже 16 модулей + ядро
При этом у модулей за это время никаких обновлений не выходило.
Предположили, что кто-то со стороны клиента восстанавливает какие-то бэкапы. Но админы всё отрицают.

drupal 9 + recaptcha

11 июля 2022 в 16:47

Всем привет! Подскажите, пожалуйста, как правильно указывать id веб-формы для подключения к ней рекапчи?
У меня есть веб форма. Она одна. Выводится на всех страницах. И на каждой странице у нее меняется id
Например, на главной - это webform_submission_svyazhites_s_nami_add_form
А на страницах терминов - webform_submission_svyazhites_s_nami_taxonomy_term_194_add_form
Соответственно, если я в настройках модуля рекапчи указываю webform_submission_svyazhites_s_nami_add_form, то вижу капчу только на главной странице.

Фасеты и сортировка

16 июня 2022 в 13:25

Всем привет! Есть представление Index Default. Есть фасетные фильтры (выведены обычным способом, блоками) и есть сортировка (идет из представления). К фасетам претензий нет, работают с учетом сортировки. А сортировка сортирует, но при этом сбрасывает все выбранные фильтры. Как это можно исправить?