charOFF: Комментарии

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

15 марта 2021 в 20:03

Для entity кэш тэг состоит из типа сущности и ID, т.е. в данном случае это будет типа такого obects:123, где 123 - ID сущности. Все тэги которые используются при формировании страницы можно посмотреть в заголовке ответа сервера X-Drupal-Cache-Tags

14 марта 2021 в 23:24

В зависимости от того, что обновляется в БД, нужно инвалидировать соответствующие кэш тэги https://www.drupal.org/docs/drupal-apis/cache-api/cache-tags

14 марта 2021 в 23:16

Обратите внимание на этот комментарий

marassa wrote:
Если это блок, а не страница, то сама страница /users/имя_пользователя/blog/ откуда берется и чем формируется?

Вам нужно настраивать представление, которое формирует страницу, а не блок. Валидация не нужна, ключевая настройка "Провалить проверку, если получен любой аргумент". Но глобальный Null настраивать, еще раз, не на блоке, а на странице.

3 марта 2021 в 12:14
1

Да, и правда, если для вьюса стоят права доступа по роли, то при удалении роли вьюс тоже удаляется. Представления хранятся как конфигурации в таблице config. Но в вашем случае их там уже не будет. Может помочь только восстановление базы из бэкапа. Ну или если когда-то делали drush config:export (а в последнее время - не делали) может эти представления в папке синхронизации сохранились. Кстати, если есть бэкап базы то можно оттуда попробовать вытащить только нужные записи.

21 января 2021 в 18:03

Потому что по-умолчанию данные возвращаются в виде массива объектов, т.к. используется PDO::FETCH_OBJ стиль выборки. Подробнее можно почитать здесь https://www.php.net/manual/ru/pdostatement.fetch.php#refsect1-pdostateme...
Соответственно каждая строка представлена объектом, свойства которого соответствуют полям в выборке.
И чтобы обойти значения, не обязательно делать fetchAll(), можно сразу в цикле обходить результат, как-то так:

16 января 2021 в 11:12
1

charOFF wrote: Но ошибка действительно есть, похоже баг в теме.

И правда был баг в теме. Разработчик уже зарелизил новую версию с исправлением https://www.drupal.org/project/at_theme/releases/1.4.8

15 января 2021 в 19:19
2

Вот здесь https://www.drupal.org/node/2013014 есть пример, как использовать свой сервис вместо hook_init(). И там как раз по событию KernelEvents::REQUEST проверяется GET параметр.

14 января 2021 в 12:53

ogo wrote: На 9-ку 2 недели назад поставил, замечательно работает, никаких ошибок нет.

Да, действительно. Оказывается я зашел по старому адресу https://www.drupal.org/project/adaptivetheme , а версия под 9-ку теперь здесь https://www.drupal.org/project/at_theme

13 января 2021 в 20:51

Может баг, а может так задумано. На самом деле path в маршруте это же еще не ссылка. К ней, например, может подставляться языковой префикс. Соответственно формируется базовый путь. А вот почему туда попадает имя исполняемого скрипта update.php и насколько это правильно - не знаю.

12 января 2021 в 14:03

Недосмотрел, что у вас имя файла TwigMyExtension.php, я ориентировался на php комментарий в файле. Но, все равно, путаница с именами при этом сохраняется, потому что имя класса kkintExtension, а оно должно соответствовать имени файла.
Тогда, если у вас TwigMyExtension.php лежит в папке src, то достаточно поменять имя класса на TwigMyExtension:

namespace Drupal\kkint;

use Twig\TwigFunction;

12 января 2021 в 12:00

Полное имя класса должно соответствовать пути и имени файла. Если у вас путь к файлу src/AppBundle/Twig/KintExtension.php, то будет namespace Drupal\kkint\AppBundle\Twig; , а имя класса KintExtension .

8 января 2021 в 12:30
1

ogo wrote: Есть обсуждение проблемы https://www.drupal.org/project/drupal/issues/3165784 , но там для 8, и не особо понятно.

Там на самом деле для 9-ки. Просто человек столкнулся с проблемой при переходе с 8 на 9.
Теперь там есть патч https://www.drupal.org/project/drupal/issues/3165784#comment-13957131

23 декабря 2020 в 21:08
1

Есть такая проблема https://www.drupal.org/project/media_oembed/issues/3188526

В настройках /admin/config/media/media-oembed/list/youtube/edit в поле Endpoint замените http:// на https://

19 декабря 2020 в 16:35

А в коде страниц у вас не добавляется случайно тэг <link rel="shortlink" href="/node/*" /> ?
Еще, если у вас раньше были ссылки на node/*, а потом вы их убрали, а страницы закрыли через 404 статус, то гугл может их еще долго помнить и периодически пытаться просканировать.

12 декабря 2020 в 22:31
2

Если это у вас представление блок, а не страница, то нужно донастроить контекстный фильтр Global:Null, например так

Если generator/120 у вас не системный путь, а алиас, то еще отметить соответствующую галочку

12 декабря 2020 в 12:45
1

В контекстных фильтрах больше/меньше не работает.
Можно использовать модуль https://www.drupal.org/project/views_argument_substitutions

  • После установки модуля, добавляете контекстный фильтр Global: Null (все настройки по-умолчанию, никакие проверки выставлять не надо)
  • В условиях фильтрации вьюса (FILTER CRITERIA) ставите 2 условия:
    1. field_powermin <= ***!1***
    2. field_powermax >= ***!1***

28 ноября 2020 в 20:23

это не проблема, строковые значения с запятыми заключаются в кавычки при сохранении и обрабатываются нормально

28 ноября 2020 в 19:02

Ошибки бывают из-за разделителя. Насколько я помню он импортирует через fgetcsv c дефолтным разделителем - запятая. Так что при сохранении файла для импорта лучше убедиться, что там правильный разделитель. А так да, этот модуль чисто для мета-тэгов, другие поля в нем не выгружаются. Мне как-то надо было добавить в его выгрузку алиас, но я честно говоря просто пропатчил функцию выгрузки, потому что нужно было разовое решение.