Рейтинг:0

Как восстановить 1 отсутствующее представление и веб-форму из многих после перехода на другой сервер?

флаг ng

После переноса моего сайта Drupal 9 на другой сервер я вижу все представления в пользовательском интерфейсе представлений, кроме одного. То же самое с одной веб-формой. Все есть, кроме одного. Я просмотрел таблицу базы данных конфигурации, и там перечислены представления и блоки. Я не знаю, является ли это проблемой несоответствия UUID или чем-то еще. У кого-нибудь есть какие-либо указатели, как я могу отобразить это представление и веб-форму? Я только что импортировал ту же базу данных, которая работала для исходного сайта Drupal 9. Я действительно должен восстановить их? Похоже, много хлопот напрасно, так как они есть в базе данных.

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

«views_block:post_other-block_16» не найден

И на странице веб-формы я получаю сообщение об ошибке, потому что я думаю, что он не может найти веб-форму.

Предупреждение: array_flip(): может переворачивать только значения STRING и INTEGER! в Drupal\Core\Entity\EntityStorageBase->loadMultiple() (строка 312 core/lib/Drupal/Core/Entity/EntityStorageBase.php).
Предупреждение: array_flip(): может переворачивать только значения STRING и INTEGER! в Drupal\Core\Entity\EntityStorageBase->loadMultiple() (строка 312 файла /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php)
#0 /code/web/core/includes/bootstrap.inc(346): _drupal_error_handler_real(2, 'array_flip(): C...', '/code/web/core/...', 312)
#1 [внутренняя функция]: _drupal_error_handler(2, 'array_flip(): C...', '/code/web/core/...', 312, Array)
#2 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(312): array_flip(Array)
#3 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(296): Drupal\Core\Entity\EntityStorageBase->loadMultiple(Array)
#4 /code/web/core/lib/Drupal/Core/Entity/EntityBase.php(488): Drupal\Core\Entity\EntityStorageBase->load(NULL)
#5 /code/web/modules/webform/src/Element/Webform.php(39): Drupal\Core\Entity\EntityBase::load(NULL)
#6 [внутренняя функция]: Drupal\webform\Element\Webform::preRenderWebformElement(Array)
#7 /code/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(101): call_user_func_array(Array, Array)
#8 /code/web/core/lib/Drupal/Core/Render/Renderer.php(772): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'Exception ', 'Друпал\Ядро\Рен...')
#9 /code/web/core/lib/Drupal/Core/Render/Renderer.php(363): Drupal\Core\Render\Renderer->doCallback('#pre_render', Массив, Массив)
#10 /code/web/core/lib/Drupal/Core/Render/Renderer.php(201): Drupal\Core\Render\Renderer->doRender(Array, false)
#11 /code/web/core/lib/Drupal/Core/Template/TwigExtension.php(479): Drupal\Core\Render\Renderer->render(Array)
#12 /tmp/rolling/307daff/twig/62284c7206d49_block.html.twig_YWDIpA9i5iaaxIfEH0V1uiMIi/DhVi_sH7DeCKnQFvchxBoEwg5qJtLd0Y0F8pnu-fjXo.php(92): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, правда)
#13 /code/vendor/twig/twig/src/Template.php(182): __TwigTemplate_3f6686c69176c19ba2b4617cb6325e0a5e759df93b196fc5091701776094356f->block_content(массив, массив)
#14 /tmp/rolling/307daff/twig/62284c7206d49_block.html.twig_YWDIpA9i5iaaxIfEH0V1uiMIi/DhVi_sH7DeCKnQFvchxBoEwg5qJtLd0Y0F8pnu-fjXo.php(76): Twig\Template->displayBlock('content', Array, Array)
#15 /code/vendor/twig/twig/src/Template.php(405): __TwigTemplate_3f6686c69176c19ba2b4617cb6325e0a5e759df93b196fc5091701776094356f->doDisplay(Array, Array)
#16 /code/vendor/twig/twig/src/Template.php(378): Twig\Template->displayWithErrorHandling(Array, Array)
#17 /code/vendor/twig/twig/src/Template.php(390): Twig\Template->display(Array)
#18 /code/web/core/themes/engines/twig/twig.engine(55): Twig\Template->render(Array)
#19 /code/web/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('themes/gavias_k...', Массив)
#20 /code/web/core/lib/Drupal/Core/Render/Renderer.php(422): Drupal\Core\Theme\ThemeManager->render('block', Array)
#21 /code/web/core/lib/Drupal/Core/Render/Renderer.php(201): Drupal\Core\Render\Renderer->doRender(Array, false)
#22 /code/web/modules/gavias_content_builder/includes/utilities.php(63): Drupal\Core\Render\Renderer->render(Array)
#23 /code/web/themes/gavias_kunco/gva_content_builder/gva_drupal_block.php(107): gavias_content_builder_render_block('webform_2')
#24 /code/web/modules/gavias_content_builder/includes/frontend.php(110): element_gva_drupal_block->render_content(Array, '')
#25 /code/web/modules/gavias_content_builder/includes/frontend.php(54): gavias_content_builder_render_element('gva_drupal_bloc...', Массив)
#26 /code/web/modules/gavias_content_builder/includes/frontend.php(22): gavias_content_builder_render_el(массив)
#27 /code/web/modules/gavias_content_builder/src/Plugin/Field/FieldFormatter/GaviasContentBuilderFormatter.php(47): gavias_content_builder_frontend('[{"settings":{"...')
#28 /code/web/core/lib/Drupal/Core/Field/FormatterBase.php(89): Drupal\gavias_content_builder\Plugin\Field\FieldFormatter\GaviasContentBuilderFormatter->viewElements(Object(Drupal\Core\Field\FieldItemList), 'ан')
#29 /code/web/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php(263): Drupal\Core\Field\FormatterBase->view(Object(Drupal\Core\Field\FieldItemList), 'en ')
#30 /code/web/core/lib/Drupal/Core/Entity/EntityViewBuilder.php(340): Drupal\Core\Entity\Entity\EntityViewDisplay->buildMultiple(Array)
#31 /code/web/core/modules/node/src/NodeViewBuilder.php(24): Drupal\Core\Entity\EntityViewBuilder->buildComponents(Array, Array, Array, 'full')
#32 /code/web/core/lib/Drupal/Core/Entity/EntityViewBuilder.php(282): Drupal\node\NodeViewBuilder->buildComponents(Array, Array, Array, 'full')
#33 /code/web/core/lib/Drupal/Core/Entity/EntityViewBuilder.php(239): Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array)
#34 [внутренняя функция]: Drupal\Core\Entity\EntityViewBuilder->build(Array)
#35 /code/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(101): call_user_func_array(Array, Array)
#36 /code/web/core/lib/Drupal/Core/Render/Renderer.php(772): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'Exception ', 'Друпал\Ядро\Рен...')
#37 /code/web/core/lib/Drupal/Core/Render/Renderer.php(363): Drupal\Core\Render\Renderer->doCallback('#pre_render', Массив, Массив)
#38 /code/web/core/lib/Drupal/Core/Render/Renderer.php(201): Drupal\Core\Render\Renderer->doRender(Array, false)
#39 /code/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(241): Drupal\Core\Render\Renderer->render(Array, false)
#40 /code/web/core/lib/Drupal/Core/Render/Renderer.php(564): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent{close}()
#41 /code/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(242): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object( Закрытие))
#42 /code/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(132): Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object(Symfony\Component\HttpFoundation\Request ), Объект(Drupal\Core\Routing\CurrentRouteMatch))
#43 /code/web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Объект(Drupal\Core\Routing\CurrentRouteMatch))
#44 [внутренняя функция]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#45 /code/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal \Component\EventDispatcher\ContainerAwareEventDispatcher))
#46 /code/vendor/symfony/http-kernel/HttpKernel.php(163): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view')
#47 /code/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#48 /code/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#49 /code/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#50 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#51 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#52 /code/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#53 /code/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#54 /code/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#55 /code/web/core/lib/Drupal/Core/DrupalKernel.php(708): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#56 /code/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
# 57 {основной}

флаг in
Предполагая, что код и база данных были переданы как есть, проблем быть не должно. Я бы попробовал перестроить кеш (`drush cr`) или очистить все таблицы `cache_*`, чтобы исключить кэширование как проблему. В качестве альтернативы вы можете экспортировать конфигурацию старого сайта в yaml (`drush cex`), убедиться, что представление и веб-форма действительно отображаются в yaml, скопировать yaml на новый сайт и импортировать его туда (`drush cim`). Это сделано для того, чтобы исключить любые незавершенные изменения конфигурации, которые могут повлиять на что-то, а также позволить вам проверить конфигурацию в виде файлов.
nschildre avatar
флаг ng
Я уже почистил кеш. Проблема была не в этом. А данные для представления лежат в базе в конфиг таблице. Я могу экспортировать его снова, но я не понимаю, как это добавит какую-либо информацию, которой еще нет в базе данных. Могли бы вы объяснить? Итак, если эти две вещи не помогают, мне нужно перестроить представление и веб-форму? Нет способа обойти это?
флаг in
Выполнение импорта из yaml пытается исключить проблемы с конфигурацией (это не обязательно проблема, просто исключается). Если ваша конфигурация в yaml выглядит правильно, `cim` ничего не должен сообщать об этом. Если `cim` сообщает об _update_ этой конфигурации, это означает, что версии yaml и db конфигурации не совпадают, и что-то изменилось в пути. Если конфигурация в новой базе данных будет повреждена, импорт исправит ее, предполагая правильный yaml. Если представление было сломано для начала на старом сайте, вы можете экспортировать и исправить его в yaml, а затем импортировать.
nschildre avatar
флаг ng
Спасибо! Я попытаюсь получить конфигурацию yaml от исходного разработчика и посмотреть, решит ли это проблему.

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

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