I am using Drupal core 8.6.1. After installing the module I clicked Content>Add content>Photos and I get this white screen error message.

The website encountered an unexpected error. Please try again later.

I went back to the site and find the node was created, in trying to click Photos or Rearrange on the node same error blocks page.

Comments

chike created an issue. See original summary.

nathaniel’s picture

Status: Active » Postponed (maintainer needs more info)

Hi, thanks for posting in the issue queue. Do you have access to the error log? I tested adding an album on the demo site (just upgraded to 8.6.1) and also on a local copy of the site running PHP 7.2. I wasn't able to reproduce the error. I can test a fresh install though if needed.

What theme are you using?

chike’s picture

I am using TopPlus Lite theme

Here is the error log

Error: Call to a member function id() on string in topplus_lite_preprocess_html() (line 141 of /home2/public_html/site.com/themes/contrib/topplus_lite/topplus_lite.theme) #0 /home2/public_html/site.com/core/lib/Drupal/Core/Theme/ThemeManager.php(287): topplus_lite_preprocess_html(Array, 'html', Array) #1 /home2/public_html/site.com/core/lib/Drupal/Core/Render/Renderer.php(437): Drupal\Core\Theme\ThemeManager->render('html', Array) #2 /home2/public_html/site.com/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #3 /home2/public_html/site.com/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(147): Drupal\Core\Render\Renderer->render(Array) #4 /home2/public_html/site.com/core/lib/Drupal/Core/Render/Renderer.php(582): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() #5 /home2/public_html/site.com/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(148): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure)) #6 /home2/public_html/site.com/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch)) #7 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #8 /home2/public_html/site.com/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #9 /home2/public_html/site.com/vendor/symfony/http-kernel/HttpKernel.php(156): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent)) #10 /home2/public_html/site.com/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #11 /home2/public_html/site.com/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #12 /home2/public_html/site.com/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #13 /home2/public_html/site.com/core/modules/page_cache/src/StackMiddleware/PageCache.php(99): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #14 /home2/public_html/site.com/core/modules/page_cache/src/StackMiddleware/PageCache.php(78): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true) #15 /home2/public_html/site.com/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #16 /home2/public_html/site.com/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #17 /home2/public_html/site.com/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #18 /home2/public_html/site.com/core/lib/Drupal/Core/DrupalKernel.php(665): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #19 /home2//public_html/site.com/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #20 {main}.

Thanks so much.

nathaniel’s picture

Title: white screen error in trying to use the module » Load node object in route
Assigned: Unassigned » nathaniel
Status: Postponed (maintainer needs more info) » Needs work

Okay, looks like the error is coming from the theme.

Quick fix topplus_lite.theme (line 139):

  // Add page-node-id class to body
  $node = \Drupal::request()->attributes->get('node');
  if ($node && is_object($node)) {
    $variables['attributes']['class'][] = 'page-node-' . $node->id();
  }

I'll update the photos.routing.yml to load the node object to prevent this from happening in the future. Might be a day or two though. Needs a few edits and thorough testing.

chike’s picture

same error screen but the error log changes to

Error: Call to a member function getType() on string in topplus_lite_preprocess_page() (line 315 of /home2/folder/public_html/sites.com/themes/contrib/topplus_lite/topplus_lite.theme) #0 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/Theme/ThemeManager.php(287): topplus_lite_preprocess_page(Array, 'page', Array) #1 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/Render/Renderer.php(437): Drupal\Core\Theme\ThemeManager->render('page', Array) #2 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #3 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/Template/TwigExtension.php(490): Drupal\Core\Render\Renderer->render(Array) #4 /home2/folder/public_html/sites.com/sites/default/files/php/twig/5bad06f006d88_html.html.twig_gQv-GORxUVif_Pag4s-5z2NkO/V4_NtJRq9QYFoDJHH2yWC4Bb1Dnu9t0ZVvgnb3He7LE.php(90): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true) #5 /home2/folder/public_html/sites.com/vendor/twig/twig/lib/Twig/Template.php(432): __TwigTemplate_be8c7bbb9c824f2826368d7c8da984c6279779db72a67fd8056a00bb23b816f2->doDisplay(Array, Array) #6 /home2/folder/public_html/sites.com/vendor/twig/twig/lib/Twig/Template.php(403): Twig_Template->displayWithErrorHandling(Array, Array) #7 /home2/folder/public_html/sites.com/vendor/twig/twig/lib/Twig/Template.php(411): Twig_Template->display(Array) #8 /home2/folder/public_html/sites.com/core/themes/engines/twig/twig.engine(64): Twig_Template->render(Array) #9 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('core/themes/cla...', Array) #10 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/Render/Renderer.php(437): Drupal\Core\Theme\ThemeManager->render('html', Array) #11 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #12 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(147): Drupal\Core\Render\Renderer->render(Array) #13 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/Render/Renderer.php(582): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() #14 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(148): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure)) #15 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch)) #16 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #17 /home2/folder/public_html/sites.com/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #18 /home2/folder/public_html/sites.com/vendor/symfony/http-kernel/HttpKernel.php(156): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent)) #19 /home2/folder/public_html/sites.com/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #20 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #21 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #22 /home2/folder/public_html/sites.com/core/modules/page_cache/src/StackMiddleware/PageCache.php(99): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #23 /home2/folder/public_html/sites.com/core/modules/page_cache/src/StackMiddleware/PageCache.php(78): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true) #24 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #25 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #26 /home2/folder/public_html/sites.com/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #27 /home2/folder/public_html/sites.com/core/lib/Drupal/Core/DrupalKernel.php(665): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #28 /home2/folder/public_html/sites.com/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #29 {main}.

nathaniel’s picture

I think it is the same issue there:

Error: Call to a member function getType() on string in topplus_lite_preprocess_page() (line 315 of /home2/folder/public_html/sites.com/themes/contrib/topplus_lite/topplus_lite.theme) #0

Line 315 adding " && is_object($variables['node'])" should fix it for now:
} elseif ((!$sidebar_first && !$sidebar_second) && (isset($variables['node']) && !empty($variables['node']) && is_object($variables['node'])) && ($variables['node']->getType() == 'page')) {

The problem is the photos module is passing just the node id instead of the full node object.

nathaniel’s picture

Status: Needs work » Needs review
StatusFileSize
new6.33 KB

Okay, here's a patch to fix the photos module so it loads the node object instead of only the node id. If you are available to test it that would help.

chike’s picture

My site is working, thank you sir.

  • Nathaniel committed 14edae1 on 8.x-4.x
    Issue #3002627 by Nathaniel: Load node object in route.
    
nathaniel’s picture

Status: Needs review » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.