Рейтинг:0

Рендеринг пользовательской области в шаблон ветки узла

флаг jp

Мой код, используемый для D8, больше не работает для D9. Шаблон ветки пользовательского региона для региона в шаблон ветки узла

Я получаю эту ошибку и WSOD:

Ошибка: вызов неопределенной функции entity_load_multiple_by_properties() в themex_add_regions_to_node() (/home/xx/www/pfdev/multid9/recommended-project/web/themes/custom/themex/themex.theme ligne 145)

Я заметил, что условие для области тоже не работает, но я могу отобразить область содержимого с помощью синтаксиса настройки ветки (вне условия if):

{%, если область region_Zone_1 не пуста %}
  <div {{ noderegion_attribute.addClass(noderegion_classes).setAttribute('id', 'region-zone-1') }}>
    {{ регион_Зона_1 }}
    {# Добавить модуль twig_tweak #}
    {{ drupal_region('region_Zone_1') }}
  </div>
  <!-- /#region-zone_1 -->
{% конец%}

Итак, как сделать то же самое или исправить это для D9?

Спасибо

РЕДАКТИРОВАТЬ: это может решить мою проблему? $blocks = entity_load_multiple_by_properties('блок', массив('тема' => $тема, 'регион' => $регион)); заменяется:

$blocks = \Drupal::entityTypeManager()
        ->getStorage('заблокировать')
        ->loadByProperties(['theme' => $theme, 'region' => $region)]);
Kevin avatar
флаг in
Эта функция устарела и удалена в D9: https://api.drupal.org/api/drupal/core%21includes%21entity.inc/function/entity_load_multiple_by_properties/8.5.x.
WebmasterPF avatar
флаг jp
Спасибо. Итак, что мне нужно изменить в моем коде или как использовать регионы в шаблоне узла?
Рейтинг:0
флаг id

вот вам пример, как это было пропатчено в модуле contrib:

diff --git a/modules/webform_submission_export_import /webform_submission_export_import.module b/modules/webform_submission_export_import/webform_submission_export_import.module    
индекс 69267d2a5..fd4e8b4ba 100644
--- a/modules/webform_submission_export_import/webform_submission_export_import.module
+++ b/modules/webform_submission_export_import/webform_submission_export_import.module
@@ -236,7 +236,9 @@ function _webform_submission_export_import_file_save_upload_single(\SplFileInfo
   // @todo Не создавайте новый объект для его обновления. Видеть
   // https://www.drupal.org/node/2241865.
   если ($ заменить == FileSystemInterface::EXISTS_REPLACE) {
- $existing_files = entity_load_multiple_by_properties('file', ['uri' => $file->getFileUri()]);
+ $existing_files = \Drupal::entityTypeManager()
+ ->getStorage('файл')
+ ->loadByProperties(['uri' => $file->getFileUri()]);
     если (счетчик($existing_files)) {
       $ существующий = сброс ($ существующие_файлы);
       $file->fid = $existing->id();

Также есть полезные модули, которые решают подобные проблемы, создавая исправления или даже автоматически изменяя код (вы должны использовать их на своей версии веб-сайта D8). Я использовал их, чтобы переключиться на D9, и это сэкономило мне много времени:

WebmasterPF avatar
флаг jp
Благодарю . Я понимаю это с вашим кодом и мозговым соком;)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.