Skip to content

Emptying a theme's welcome message throws an error. #37748

Closed
@Hexmage

Description

@Hexmage

Preconditions and environment

  • Magento 2.4.6-p1
  • Any theme that shows the default welcome message. (luma or blank will do)

Steps to reproduce

  1. In the Adminpanel navigate to Content -> Design -> Configuration.
  2. Select your default storeview.
  3. Go to Other Settings -> Header -> Welcome text, and empty it.
  4. Flush cache.
  5. Open the frontend homepage.

Expected result

No Welcome message is shown when you visit the homepage.

Actual result

TypeError: addslashes(): Argument #1 ($string) must be of type string, null given in ../vendor/magento/framework/Escaper.php:440
Stack trace:
#0 ..vendor/magento/framework/Escaper.php(440): addslashes()
#1 ..vendor/magento/module-theme/Block/Html/Header.php(62): Magento\Framework\Escaper->escapeQuote()
#2 ..vendor/magento/module-theme/view/frontend/templates/html/header.phtml(11): Magento\Theme\Block\Html\Header->getWelcome()
#3 ..vendor/magento/framework/View/TemplateEngine/Php.php(71): include('...')
#4 ..vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\View\TemplateEngine\Php->render()
#5 ..vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent()
#6 ..vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}()
#7 ..generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php(23): Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins()
#8 ..vendor/magento/framework/View/Element/Template.php(263): Magento\Framework\View\TemplateEngine\Php\Interceptor->render()
#9 ..vendor/magento/framework/View/Element/Template.php(293): Magento\Framework\View\Element\Template->fetchView()
#10 ..vendor/magento/framework/View/Element/AbstractBlock.php(1117): Magento\Framework\View\Element\Template->_toHtml()
#11 ..vendor/magento/framework/View/Element/AbstractBlock.php(1121): Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}()
#12 ..vendor/magento/framework/View/Element/AbstractBlock.php(670): Magento\Framework\View\Element\AbstractBlock->_loadCache()
#13 ..vendor/magento/framework/View/Layout.php(578): Magento\Framework\View\Element\AbstractBlock->toHtml()
#14 ..vendor/magento/framework/View/Layout.php(555): Magento\Framework\View\Layout->_renderBlock()
#15 ..vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout->renderNonCachedElement()
#16 ..vendor/magento/framework/View/Element/Html/Links.php(63): Magento\Framework\View\Layout->renderElement()
#17 ..vendor/magento/framework/View/Element/Html/Links.php(83): Magento\Framework\View\Element\Html\Links->renderLink()
#18 ..vendor/magento/framework/View/Element/AbstractBlock.php(1117): Magento\Framework\View\Element\Html\Links->_toHtml()
#19 ..vendor/magento/framework/View/Element/AbstractBlock.php(1121): Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}()
#20 ..vendor/magento/framework/View/Element/AbstractBlock.php(670): Magento\Framework\View\Element\AbstractBlock->_loadCache()
#21 ..vendor/magento/framework/View/Layout.php(578): Magento\Framework\View\Element\AbstractBlock->toHtml()
#22 ..vendor/magento/framework/View/Layout.php(555): Magento\Framework\View\Layout->_renderBlock()
#23 ..vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout->renderNonCachedElement()
#24 ..vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout->renderElement()
#25 ..vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer()
#26 ..vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout->renderNonCachedElement()
#27 ..vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout->renderElement()
#28 ..vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer()
#29 ..vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout->renderNonCachedElement()
#30 ..vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout->renderElement()
#31 ..vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer()
#32 ..vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout->renderNonCachedElement()
#33 ..vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout->renderElement()
#34 ..vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer()
#35 ..vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout->renderNonCachedElement()
#36 ..vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout->renderElement()
#37 ..vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer()
#38 ..vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout->renderNonCachedElement()
#39 ..vendor/magento/framework/View/Layout.php(975): Magento\Framework\View\Layout->renderElement()
#40 ..vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\View\Layout->getOutput()
#41 ..vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\View\Layout\Interceptor->___callParent()
#42 ..vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\View\Layout\Interceptor->Magento\Framework\Interception\{closure}()
#43 ..generated/code/Magento/Framework/View/Layout/Interceptor.php(41): Magento\Framework\View\Layout\Interceptor->___callPlugins()
#44 ..vendor/magento/framework/View/Result/Page.php(260): Magento\Framework\View\Layout\Interceptor->getOutput()
#45 ..vendor/magento/framework/View/Result/Layout.php(171): Magento\Framework\View\Result\Page->render()
#46 ..vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\View\Result\Layout->renderResult()
#47 ..vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\View\Result\Page\Interceptor->___callParent()
#48 ..vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}()
#49 ..generated/code/Magento/Framework/View/Result/Page/Interceptor.php(32): Magento\Framework\View\Result\Page\Interceptor->___callPlugins()
#50 ..vendor/magento/framework/App/Http.php(120): Magento\Framework\View\Result\Page\Interceptor->renderResult()
#51 ..vendor/magento/framework/App/Bootstrap.php(264): Magento\Framework\App\Http->launch()
#52 ..pub/index.php(50): Magento\Framework\App\Bootstrap->run()

Additional information

Looks like strict typing is throwing an error here.

Release note

No response

Triage and priority

  • Severity: S0 - Affects critical data or functionality and leaves users without workaround.
  • Severity: S1 - Affects critical data or functionality and forces users to employ a workaround.
  • Severity: S2 - Affects non-critical data or functionality and forces users to employ a workaround.
  • Severity: S3 - Affects non-critical data or functionality and does not force users to employ a workaround.
  • Severity: S4 - Affects aesthetics, professional look and feel, “quality” or “usability”.

Metadata

Metadata

Assignees

Labels

Issue: needs updateAdditional information is require, waiting for responseReported on 2.4.6-p1Indicates original Magento version for the Issue report.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions