Блог пользователя - marassa

А как вы формируете мобильное меню, что под гамбургером?

17 июля 2020 в 11:58

В десктопной версии есть сразу несколько отдельных меню, раскиданных по разным углам страницы:
- Main navigation
- User account menu
- Language switcher
- Footer

Как работать с брейкпойнтами в Drupal 8?

22 июня 2020 в 11:43

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

Посоветуйте нормальный хостинг для почты

20 июня 2020 в 10:40

Офф, конечно, но описание форума говорит "применительно к размещению Drupal и не только", так что может быть ничего? Wink
Волею судеб давным давно имею маленький хостинг на reg.ru, от которого фактически пользуюсь только почтой. Ну и там же зарегены все мои домены, что удобно.

Обновление до 8.8 + переход на composer: совет нужен

9 апреля 2020 в 10:32

Прошу совета опытных по наилучшему порядку действий.

Идеологический вопрос про search index'ы

15 февраля 2020 в 15:22

Разбираюсь с Search API.
Цель: сделать человеческий поиск по сайту с осмысленными подсказками в поле поиска и красивыми результатами (список, фотогалерея, карта).
Получается нужно сделать четыре разных вьюхи для результатов (autocomplete callback, список, фотогалерея и карта). Вьюхи, само собой, достаточно разные, хотя в чем-то пересекаются. А вот как идеологически правильно разобраться с индексами, у меня нет полного понимания.

Сделать так, чтобы автор черновой редакции (revision) видел эту самую редакцию

29 ноября 2019 в 13:42

Пытаюсь настроить Content Moderation (D8) на простейший и казалось бы вполне логичный воркфлоу - не выходит каменный цветок.
На данный момент юзеры имеют право добавлять контент (unpublished), видеть собственный unpublished content и редактировать собственный unpublished content. При этом видеть чужой unpublished content им не положено. Это всё легко настроено и работает.
Теперь хочу дать возможность всем юзерам вносить правки в любой контент, но в статусе черновик/draft, чтобы никто другой кроме самого правщика и админа, этих правок не видел до их одобрения админом.

Реально крупный ботнет (>1000 IP) сканирует мой сервер. К чему бы это? ;)

9 ноября 2019 в 17:20

К Друпалу вопрос прямого отношения не имеет, поэтому заранее прошу прощения за оффтопик, но знаю, что тут люди опытные и наверняка что-нибудь умное скажут Wink
Обратил внимание в awstats, что число визитов за сегодня перевалило за 1500 при среднедневном 200-300. Посмотрел в логи, и увидел, что какой-то реально большой ботнет прочесывает аккуратно по алфавиту все страницы, каждый раз с нового IP и с новым User Agent, реферер всегда пустой.

Со вчерашнего дня сайт часто выдает ошибку

10 октября 2019 в 7:46

This site can’t be reached
drupal.ru refused to connect.
Try:
Checking the connection
ERR_CONNECTION_REFUSED

И с работы, и из дома (Москва). Захожу через VPN - вроде работает, хотя может совпадение.

На странице термина таксономии для анонимов выводится <link rel="edit-form" href="/taxonomy/term/49/edit" /> и т.п.

19 июля 2019 в 20:58

Читал логи, много думал.
Обратил внимание, что archive.org_bot постоянно и безуспешно колотится в ссылки вида /taxonomy/term/176/edit .
Удивился откуда он их берет, так как контекстные ссылки во-первых не генерятся для анонимов, а во-вторых вообще подтягиваются через ajax. Глянул в код страницы термина, а там:

Критическое обновление для Drupal 8.7.4 (SA-CORE-2019-008)

19 июля 2019 в 14:58
1

Обнаружена критическая уязвимость в экспериментальном модуле ядра Workspaces версии 8.7.4. Уязвимость касается ТОЛЬКО пользователей версии 8.7.4, у которых этот модуль включен. Пути решения: либо отключить модуль Workspaces, либо обновиться до 8.7.5.
https://www.drupal.org/sa-core-2019-008
PS Ко мне на сайт сегодня уже лезли по адресу /core/modules/workspaces/workspaces.info.yml , так что уязвимость уже эксплуатируется.

А чем фацетный поиск принципиально отличается от просто view с большим количеством раскрытых фильтров?

30 июня 2019 в 20:41

Есть ли готовый модуль, позволяющий вводить теги в стиле stackexchange?

27 июня 2019 в 17:06

Хочу чтобы при вводе строки поиска автоподсказывались возможные варианты (у меня это не обязательно таксономия, но могут быть и тайтлы нод, и имена пользователей и т.д.), и при подтверждении пользователем выбранный тег добавлялся бы в строку поиска с крестиком для легкого удаления. Фишка именно в том, что в строке поиска могут быть именно несколько тегов, не один.
Для собственно поиска планирую задействовать Search API, хотя пока не пробовал.

Поменять стиль картинок перед рендерингом view

25 июня 2019 в 15:21

Это вторая серия вот этого вопроса: https://drupal.ru/node/139772
По-прежнему бьюсь над задачей подмены стилей картинок, выводимых форматтером PhotoSwipe в контексте View в зависимости от количества результатов в этом самом View.

Как достать URI картинки в twig-шаблоне поля?

20 июня 2019 в 11:08

Задача: сделать так, чтобы при отображении галереи картинок (Views Photo Grid) при общем количестве картинок в галерее меньше определенного порога брался другой Image Style, покрупнее.
Задумал сделать это всё в кастомном шаблоне поля.
Создал шаблон views-view-field--photo_slideshow--photo_gallery--field_picture.html.twig
Он совершенно точно подхватывается и отрабатывает.
В шаблоне пытаюсь сделать следующее (подглядел где-то):

AJAX pager то работает, то нет

30 мая 2019 в 11:13

Есть вьюшка с контекстными фильтрами. В качестве пейджера используется Views Infinite Scroll в режиме auto. Первая страница всегда отрабатывает нормально. Для некоторых значений контекстных фильтров пейджер при скроллинге до конца документа тоже отрабатывает как надо - по ajax-запросу возвращается надлежащий ответ со следующей страницей, и надлежащим образом отрисовывается.

Закэшенная страница с рекапчей пропускала сабмит формы без заполнения рекапчи

19 марта 2019 в 13:05

Сегодня ночью случилось странное: пришло больше спама с контактной формы сайта (contact_message_feedback_form), чем за прошедшие полгода. На странице стоит рекапча, стоит давно и давно не обновлялась, саму форму тоже не трогал давным-давно. Попробовал сам заполнить контактную форму, предварительно разлогинившись и не трогая капчу вообще - форма успешно сабмитится и отправляется! Пробую другую форму с рекапчей на том же сайте (user_register_form) - без клика на капчу не сабмитится, ругается. Очистил кэш... и всё заработало.

Можно ли рассчитывать на то, что PHP-расширение SimpleXML обязано присутствовать в любой инсталляции Drupal 8?

19 февраля 2019 в 13:59

Хочу его использовать в контрибном модуле и быть уверенным, что не посыпятся баг-репорты от юзеров что "расширение SimpleXML не найдено".

Как ловчее создать кастомный блок с содержимым, завязанным на поля текущей ноды?

18 января 2019 в 15:20

Чё-та туплю Wink
Нужно создать блок, который будет:
- размещаться на странице ноды (/node/XXX)
- содержать картинку, зависящую от текущего типа материала, картинку, адрес которой составляется из значений нескольких полей текущей ноды и некий джаваскрипт, срабатывающий по клику

Стилизованные картинки нормально генерятся и отдаются, но с кодом 404

18 декабря 2018 в 13:56

Недавно выкатил очередные доработки на продакшен-сайт (версия Drupal 8.6.2), и через некоторое время случайно заметил в консоли хрома целую кучу сообщений такого вида при отображении галерей картинок:
GET http://***/sites/default/files/styles/gallery_thumbnail/public/*.jpg 404 (Not Found)

Не соображу куда воткнуть $view->total_rows для последующей передачи в js-лайтбокс

4 декабря 2018 в 15:25

На сайте имеется несколько фотогалерей (на разных страницах), все организованы через view, но в разных стилях (от Views Slideshow до Views Photo Grid) в зависимости от контекста. Так как картинок в некоторых галереях может быть много, используется Views Infinite Scroll для поэтапной подгрузки по необходимости.