gera8774: Блог

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

Добавление файла в поле при сохранении сущности

24 апреля в 23:04

Всем доброго времени суток!

Задача: при сохранении сущности из ее данных генерируется xls файл и сохраняется в поле типа файл этой самой сущности.

Помощь с hook_entity_access

24 апреля в 16:02

Всем здравствуйте! Не могу разобраться с hook_entity_access
В чем план.

Если у определенного материала поставлена галочка в определенном поле, этот материал становится недоступен для редактирования для всех кроме администратора. Остальные могут на него только смотреть. То есть, если контентщик поставил галочку в это поле, то после этого редактировать эту сущность он больше не сможет.

Пробую hook_entity_access. Для начала хочу просто попробовать закрыть полностью все материалы определенного типа от редактирования для всех ролей кроме админа. Не работает

Paragraph feeds - всё работает, а в материал не уходит

18 апреля в 17:28

Всем привет! Импортирую параграфы в материалы. А точнее пытаюсь. Указываю всё от и до, родитель-материал, его тип, название поля и прочее. Параграфы уходят в базу, все поля там на месте. Но по факту в материалах их нет.
Вот например скрин из базы данных. Параграф с родителем 388 - это всё создано ручками без импорта. Там всё на месте, всё отображается. Остальные были импортированы. Их в материалах нет

hook_entity_insert

28 марта в 12:07

Всем привет! Столкнулась с проблемой - не срабатывает функция hook_entity_insert
Для теста просто пытаюсь написать функцию, чтобы при создании любой новой сущности приходило письмо на почту или создавался новый материал определенного типа. Но функция просто игнорируется
С почтой всё хорошо, если что. Например с hook_entity_presave всё отлично срабатывает. Что я делаю не так?

privatemsg Новые сообщения

24 января в 10:06

Всем привет! Установлен модуль privatemsg
Хочу где-нибудь как-нибудь вывести блок с количеством новых сообщений. На странице модуля в списке доступностей указано:
Block with new messages counter
Похоже на то, что мне нужно. Но ни слова о том, как и где это настраивается. Ковыряния настроек тоже не помогли. Кто использует модуль, подскажите пожалуйста, как вывести этот блок?

Правильное удаление модулей Drupal 10

20 декабря 2024 в 17:21

Всем привет! Как правильно удалять модули?
Вот у меня например есть модуль privatemsg и я хочу его удалить.
Иду в админку в удаление. При попытке удалить он мне конечно говорит сначала удалить все сущности, связанные с модулем, что я благополучно и делаю.
Удаляю в админке, всё хорошо.
Далее делаю composer remove drupal/privatemsg
Получаю в терминале сообщение о благополучном удалении, но... При этом также удаляется модуль Views Bulk Operations, который требовался для privatemsg (но и не только для него вообще-то)

Просмотр материалов - доступ по ролям

17 декабря 2024 в 11:06

Всем привет! В настройках прав доступа для каждого типа материала можно задать права для каждой роли. На добавление, редактирование, удаление. Но нет такой настройки для просмотра. Есть только право на просмотр всех материалов.
Я не там смотрю? Или как решить?

Обновление модулей на Drupal 10

13 декабря 2024 в 11:49

Всем привет! Подскажите, что делаю не так.
Есть список обновлений модулей. Пробую обновить каждый по очереди:
composer update drupal/modulname --with-all-dependencies - получаю:
Nothing to modify in lock file
Nothing to install, update or remove
модуль продолжает висеть в списке обновлений

пробую всё сразу: composer update --with-dependencies
тоже самое
Nothing to modify in lock file
Nothing to install, update or remove
модули продолжают висеть в списке обновлений

Ядро обновилось нормально

Помощь с hook_entity_update, hook_entity_presave

20 ноября 2024 в 9:36

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

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

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

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

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

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

Rules в drupal 10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3 июня 2024 в 10:15

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

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

29 мая 2024 в 11:31

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

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

26 мая 2024 в 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 апреля 2024 в 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 марта 2024 в 23:33

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

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

17 января 2024 в 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