buddy90210: Блог

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

Ошибка параграфа, нода не существует на которую ссылается поле в параграфе.

26 октября 2023 в 17:54

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

Может есть готовые решения? Или надо ручками написать хук при удалении ноды на проверку всех параграфов нет ли ее в прикрепленных к полю параграфа и если есть то удалить и параграф.

Или может как то иначе можно это решить.

Сессии для анонимов и кэш.

21 февраля 2023 в 15:18

Всем привет!
Может подскажете решение или путь к нему)
При переходе на сайт в событии KernelEvents::REQUEST я проверяю существует ли сессия для пользователя.

Сложные запросы к Базе данных.

12 января 2023 в 21:06

Всем доброго времени суток! Встала задача сделать сложный запрос к базе данных, подскажите что лучше использовать?
Кратко про структуру, есть две сущности - родитель и дети. У родителя свои поля для фильтрации - термины таксономии, текстовые и числовые поля. У "потомка" свои, так же термины и прочее.
Связаны родители и дети через entity reference.
Задача отфильтровать "детей" одновременно по своим полям и полям его родителя.
Обычно всегда хватало entityQuery(), но как я понял за один запрос он так не сможет (может заблуждаюсь?)

Git, Composer, Drush перенос сайта с хостинга на хостинг

8 апреля 2022 в 13:31
1

Всем привет, подскажите по переносу сайта с хостинга на хостинг при помощи git composer и drush.
В общем, надоело перекидывать сайты при помощи архивов решил раз и навсегда с этим разобраться))
Шаги действия:
1. Сделал Экспорт Конфигов drush cex
2. Сделал репозиторий со стандартным Drupal набором (git push)
3. Сделал дамп базы данных
4. на другом сервере git pull
5. composer install
6. закачал дамп базы
7. drush cim - сообщение все конфиги и так настроены

Кастомный функционал корзины?

1 марта 2022 в 20:23

Всем привет, реализую небольшой интернет магазинчик с небольшим количеством товаров. Коммерц и других монстров не хочу использовать. Подскажите как правильней реализовать функционал корзины, а именно - сохранять выбранные позиции при переходе по страницам.
Использовать сессии друпал? Они работают с анонимами?
Или просто использовать locale storage браузера?

Программно обновить прикрепленное изображение к ноде.

13 сентября 2021 в 11:59

Всем привет.
В общем ситуация следующая:
Программно добавляю изображение к ноде, изображение обновляется (в редактировании ноды, новый файл), но в отображении показывается старое изображение, как будто какой то node rebuild надо вызвать.

Т.е. если открыть редактирование ноды и добавить другое изображение все отлично.

Вот код:

Подменить стандартную форму

8 сентября 2021 в 7:04

Всем привет!
Подскажите как подменить стандартную форму логина?
Т.е. на странице /user/login вывести свою форму вместо стандартной.

Как переопределить шаблон страницы для определенного типа материала с определенным типом отображения

23 мая 2021 в 19:25

Если коротко то как сделать следующее:
page--article--custom_view.html.twig
С помощью этого хука:

Сайт с поисковиков направляет на вирусную рекламу.

1 апреля 2021 в 8:51

Всем привет, не могу найти что ломанули.
При переходе на сайт с поисковой выдачи перенаправляет на вирусную рекламу, если прямой вход то нормально.
При первой инициализации сайта выполняется такой вот код:

Массив данных записать в элемент формы, foreach PHP

4 марта 2021 в 16:44

Добрый день!
Возможно тупой вопрос, но не придумал как правильно у гугла спросить)
Вообщем есть такой код:

EFQ (Entity Field Query), Views и производительность.

15 февраля 2021 в 18:42

Всем здрасти!
Немного подробностей:
Имеем большое количество материалов (нод), необходимо в зависимости от условий выводить их на страницу в ноде родителе.
Пример, есть нода "проект" в ней много связанных нод "задач". У проекта несколько режимов отображения, и для каждого режима задачи выводятся в определенном режиме отображения.

Т.е. при переходе по адресу /проект/режим 1 - выводим задачи в режиме дисплей 1
при переходе по адресу /проект/режим 2 - выводим задачи в режиме дисплей 2 и т.д.

Отображение сайта в поиске гугл на китайском)

28 января 2021 в 16:31

При поиске сайта через гугл, сайт отображается в таком виде:

Через Яндекс такого нет.

Подскажите где посмотреть в первую очередь, на первый взгляд все в норме.

Хранение данных в виде массива или JSON в ноде

8 января 2021 в 9:30

Всех с праздниками!
Подскажите пути решения, как хранить массив в базе данных?
Задача:
Имеем сущность (ноду) в ней куча полей, автор ноды должен иметь возможность разным пользователям позволять редактировать разные поля.
Решение (как вижу я): У ноды есть поле в котором содержится массив данных примерно в таком виде:

Конвертер файлов на базе Drupal

14 октября 2020 в 16:20

Подскажите с реализацией, вообще принцип действий.
Сервер на базе Linux, на него установлена библиотека конвертации файлов с одного формата в другой, запускается она командой через консоль.
# convert file.a to file.b
Можно ли как то реализовать выполнение серверной команды средствами апи Drupal.
Никогда не сталкивался с подобными задачами в принципе, толкните в какую сторону смотреть.

Разрешить просматривать контент определенных нод сайта через Iframe

22 сентября 2020 в 8:43

Всем привет!
Необходимо разрешить просматривать контент ноды (определенного типа) через iframe.
Например, разрешить добавлять ссылки на ноды типа Article и показывать их, а ноды типа page не отображать.
Т.е. у меня ссылка https://example.com/node/1
Пользователь хочет вставить ее через iframe на свой сайт:

Выборка и сравнение данных массива PHP

21 июля 2020 в 14:39

Добрый день, ни как не могу допереть с выборкой и сравнением.
Есть объект Этап, у него может быть неограниченное количество работ, у каждой работы есть дата начала и дата окончания работы. Необходимо Этапу присваивать значения начала самой "ранней работы" и значения окончания самой "поздней" работы.
Т.е. делаю выборку из БД:

Выборка сущностей, views или EFQ?

9 июня 2020 в 19:52

Доброго времени суток!
Возник такой вопрос, сначала суть:
Задача - есть два типа материала "Этап" и "Работа". К каждому "Этапу" может относиться бесконечное количество "Работ". Необходимо вывести в виде таблицы все "Этапы" с "Работами", в такой структуре:
Этап 1
-Работа 1
-Работа 2
Этап 2
-Работа 3
-Работа 4
В голову пришло два варианта реализации:

1. Вывожу все "Этапы" Представлением, как сущности, в TWIG шаблоне "Этапа" вывожу еще одно Представление которое выводит связанные "Работы".

Уведомление после входа на сайт

27 мая 2020 в 21:15

Всем привет!
Подскажите пути решения!
Если пользователь залогинился есть хук hook_user_login, в нем можно проверить все что необходимо и показать пользователю. Но срабатывает он только после авторизации пользователя. Что можно использовать при "входе" пользователя на сайт через некоторое время, когда его, например не было пару часов в онлайн, но его сессия осталась залогиненой?

Перестает работать AJAX, пока не сбросишь кэш.

1 мая 2020 в 6:17

Добрый день, собственно есть форма она выполняется через ajax и все отлично работает, но до поры до времени, через некоторое время, она начинает пытаться засабмититься без ajax, пока не сброшу кэши на сайте, потом опять все хорошо. В чем может быть причина?

Несколько дисплеев (шаблонов) одного материала.

21 апреля 2020 в 6:25

Добрый день!
Подскажите, такой вопрос. Необходимо чтобы один материал имел несколько дисплеев для его просмотра, как создать дисплей то вопросов нет. Как быть с путями для просмотра?
Например, есть нода с адресом /node/1 - по этому пути отображается шаблон по умолчанию, как отобразить эту же ноду с использованием другого шаблона например по пути /node/1/otherview.

Сбербанк Эквайринг

2 апреля 2020 в 20:51

Добрый день, есть необходимость подключить эквайринг от Сбербанка на сайт.
Знаю что есть модуль для комерса. Но сайт не является магазином, продавать необходимо услугу, т.е. необходимость в корзине, заполнении адреса и т.п. не нужна. Не хотелось бы ставить монстра Commerce.
Подскажите как это возможно реализовать, может кто сталкивался?
Пока из идей - это сбор данных и затем их отправка функцией:
<?phpdrupal_http_request(); ?>
Для связи с их REST API.

Как добавить аргумет для контекстного фильтра представления Entity Reference

11 марта 2020 в 11:12

Есть поле - представление Entity Reference, которое выводится в форме создания ноды и ссылается на другую ноду, так вот во время редактирования поля есть возможность подставить токен для аргументов представления. Если подставлять числовое значение то все работает, а если токен - [current-page:query:nid], то ничего. Урл страницы с представлением -/project/add/job?nid=39. Что не так делаю?

Реализация связи Entity Reference между материалами, с динамическим добавлением материалов

10 марта 2020 в 14:49

Добрый день, подскажите как реализовать связь.
Пользователь может создать Проект(нода), в котором может создать Задачу(нода) которая в свою очередь должна относится к определенному Этапу(нода).
Сейчас реализовано так:
- Пользователь создает Проект
-- В нем есть ссылка на добавление задачи (с переменной GET(nid проекта) в урл запроса), при переходе по которой заполняется скрытое поле в задаче (field_project_id). Т.е. в дальнейшем при помощи вьюхи Задачи легко выводятся в шаблоне Проекта. Что было здорово, пока не добавилась необходимость добавить Этап...

Kanban Board - Канбан доска при помощи views

26 февраля 2020 в 19:29

Всем привет! Сделал подобие Канбан доски при помощи views. (Что такое канбан)
Суть такая - вывожу на странице несколько блоков views, в каждом происходит фильтрация по полю статус. Выводятся ноды, соответственно при изменении статуса материала, он отображается в другой колонке канбана. Но все это не интерактивно и с перезагрузками страницы.