Готового решения не предложу, тут не очевидно, но в общем случае варианты могут быть такие:
- поискать патч среди issue модуля на drupal.org
- попробовать установить dev версию модуля
- выполнить отладку этого кода, разобраться в чем проблема самому или с чьей-нибудь помощью, пропатчить модуль
- попробовать обойтись без этого модуля
views-view--block.html.twig имеет больший вес, чем views-view--myview.html.twig. Чтобы его переопределить придется использовать views-view--myview--block.html.twig
Чтобы не дублировать код можно в нем сделать include views-view--myview.html.twig
marassa wrote: А ведь всего лишь нужно было интегрировать вызовы композера в существующие страницы /admin/modules. При установке модуля не просить дать ссылку на архив, а просить дать название пакета для последующего вызова composer require.
Еще можно использовать алиас в composer.json
например "drupal/core": "^9.0.0"
заменить на "drupal/core": "9.2.0 as 8.9.16"
если модули действительно совместимые с d9
Для картинок есть еще Image Optimize, Image Optimize Binaries.
Если на сайте изображения в виде фотографий, а владелец упорно загружает туда png, то можно их по-умолчанию конвертировать в jpg в настройках стилей.
marassa wrote: именно убирание из composer.json является существенным, а перемещение в custom - чистая условность
Если не перенести в custom, то при следующем composer update композер удалит папку модуля из modules/contrib
Обычно композер ставит пакеты в vendor, чтобы ставить (и искать) в другие папки используется composer/installers. См. секцию extra:installer-paths в composer.json в корне
Странно. Может какой-то специфический случай. Объявление через ключ 'variables' один из двух стандартных способов, используется во многих, если не в большинстве хуков тем. Я даже специально сейчас проверил на 8.9 и на 9,1 THEME_preprocess_menu + menu.html.twig работает без проблем.
OldWarrior wrote: Но в случае с меню он не канает для передачи переменных в Twig без альтеринга реестра темы.
А в каких случаях не передается? Добавленные через MYTHEME_preprocess_menu() доступны в menu.html.twig (и в других производных шаблонах) без манипуляций с реестром темы. Или речь о чем-то другом?
Видимо $image_uri - пусто. Посмотрел внимательнее на исходный код. Действительно, я предполагал, что в $image_uri содержится uri оригинальной картинки, а на самом деле нет. field_first_game_to_compare это же у вас ссылка на ноду. Тогда должно быть как-то так
Видно, что страницу user/40236/blog формирует функция user_blog_page(). Значит views тут не причем. Возможно это какой-то кастомный модуль, потому что в ядре такого нет и контрибов я таких не припомню, хотя могу и ошибаться. Но, с учетом изысканий @marassa, возможно, что несуществующая страница /users/имя_пользователя/blog/2589dkfjd формируется чем-то другим. И еще, вполне может быть, что там hook_url_inbound_alter() в каком-нибудь кастоме преобразует урл на лету. Вобщем надо смотреть код.
Значит это не системные пути, а синонимы. Посмотрите в /admin/config/search/path , каким системным путям они соответствуют. А их уже проверить через devel. Подозреваю, что системный путь будет что-то вроде user/40236/blog
Если без кодинга, то, как вариант, использовать модуль https://www.drupal.org/project/token_views_filter . Связь на сущность B, с нее связь на автора. В стандартном фильтре: поле ссылка на B пустое ИЛИ ID автора сущности B == токену ID текущего пользователя.
Сайт на Drupal 7.67, работает без ошибок только в php 7.1 CGI.
Готового решения не предложу, тут не очевидно, но в общем случае варианты могут быть такие:
- поискать патч среди issue модуля на drupal.org
- попробовать установить dev версию модуля
- выполнить отладку этого кода, разобраться в чем проблема самому или с чьей-нибудь помощью, пропатчить модуль
- попробовать обойтись без этого модуля
Сайт на Drupal 7.67, работает без ошибок только в php 7.1 CGI.
Это предупреждение пофиксено в drupal 7.83. Надо обновить ядро и модули до последних версий.
Подскажите, как темизировать файл для всех дисплеев вьюхи.
views-view--block.html.twig имеет больший вес, чем views-view--myview.html.twig. Чтобы его переопределить придется использовать views-view--myview--block.html.twig
Чтобы не дублировать код можно в нем сделать include views-view--myview.html.twig
Напишите 5 причин почему я должен остаться в Друпале и не перейти на Вордпрес ?))
Популярное за неделю во Views
Когда-то использовал модуль Radioactivity для подобной задачи. Посмотрите, может подойдет.
Как поставить на Drupal 9 Composer-ом модули под 8ку?
тут придется указать точную версию и при дальнейшем обновлении менять вручную.
Т.е. не "^9.2 as 8.9.16", а "9.2.0 as 8.9.16"
Как поставить на Drupal 9 Composer-ом модули под 8ку?
Еще можно использовать алиас в composer.json
например
"drupal/core": "^9.0.0"
заменить на
"drupal/core": "9.2.0 as 8.9.16"
если модули действительно совместимые с d9
Как в Drupal 8 сгенерировать изображение с заголовком ноды?
Возможно textimage подойдет
Д9, производительность, кэш
Для картинок есть еще Image Optimize, Image Optimize Binaries.
Если на сайте изображения в виде фотографий, а владелец упорно загружает туда png, то можно их по-умолчанию конвертировать в jpg в настройках стилей.
Каким образом композер определяет установленные версии модулей?
Если не перенести в custom, то при следующем composer update композер удалит папку модуля из modules/contrib
Обычно композер ставит пакеты в vendor, чтобы ставить (и искать) в другие папки используется composer/installers. См. секцию extra:installer-paths в composer.json в корне
Подключение файлов в твиге
У меня в девятке в теме так работает.
А такой вариант?
{{ include('@mymodule/includes/file_twig.html.twig') }}
Подключение файлов в твиге
Можно использовать пути относительно текущего файле
Во всяком случае с функцией include() это работает
{{ include('includes/file_twig.html.twig') }}
Как передать значение переменной php в twig
Собственно стандартное решение должно работать
Как передать значение переменной php в twig
Странно. Может какой-то специфический случай. Объявление через ключ 'variables' один из двух стандартных способов, используется во многих, если не в большинстве хуков тем. Я даже специально сейчас проверил на 8.9 и на 9,1 THEME_preprocess_menu + menu.html.twig работает без проблем.
Как передать значение переменной php в twig
А в каких случаях не передается? Добавленные через
MYTHEME_preprocess_menu()
доступны вmenu.html.twig
(и в других производных шаблонах) без манипуляций с реестром темы. Или речь о чем-то другом?Не создается экземпляр изображение определенного стиля
Видимо $image_uri - пусто. Посмотрел внимательнее на исходный код. Действительно, я предполагал, что в $image_uri содержится uri оригинальной картинки, а на самом деле нет. field_first_game_to_compare это же у вас ссылка на ноду. Тогда должно быть как-то так
Не создается экземпляр изображение определенного стиля
Чтобы получить URL картинки нужного стиля с уже добавленным токеном itok используйте функцию image_style_url
Можно каким то модулем подсвечивать html код для контенщика в полях ввода.
https://www.drupal.org/project/ace_editor
Дубликаты в блоке представления
Видно, что страницу user/40236/blog формирует функция user_blog_page(). Значит views тут не причем. Возможно это какой-то кастомный модуль, потому что в ядре такого нет и контрибов я таких не припомню, хотя могу и ошибаться. Но, с учетом изысканий @marassa, возможно, что несуществующая страница /users/имя_пользователя/blog/2589dkfjd формируется чем-то другим. И еще, вполне может быть, что там hook_url_inbound_alter() в каком-нибудь кастоме преобразует урл на лету. Вобщем надо смотреть код.
Дубликаты в блоке представления
Эта строка для нас не принципиальна. В первой строке должно быть "Array..." и при клике на ней должен раскрываться массив.
Дубликаты в блоке представления
Значит это не системные пути, а синонимы. Посмотрите в /admin/config/search/path , каким системным путям они соответствуют. А их уже проверить через devel. Подозреваю, что системный путь будет что-то вроде user/40236/blog
Дубликаты в блоке представления
Если установлен devel, можно посмотреть кто формирует страницу по адресу /devel/menu/item?path=users/имя_пользователя/blog
Дубликаты в блоке представления
Навигатор не привязан к странице, он может быть в любом блоке. Нужно смотреть "Настройки страницы":"Путь". Там должно быть users/%/blog
Фильтр поля по текущему пользователю
Если без кодинга, то, как вариант, использовать модуль https://www.drupal.org/project/token_views_filter . Связь на сущность B, с нее связь на автора. В стандартном фильтре: поле ссылка на B пустое ИЛИ ID автора сущности B == токену ID текущего пользователя.
результаты $query = \Drupal::database()->update не видит view в той же сессии. Drupal 9.1.5
Получить объект сущности и изменить: