View Issue Details

IDProjectCategoryView StatusLast Update
0006992OXID eShop (all versions)1. ----- eShop frontend -----public2019-12-12 13:35
Reporterit artvera Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status acknowledgedResolutionopen 
Product Version6.1.2 
Summary0006992: call "widget.php" without parameters throws exception
Description[2019-06-06 12:53:20] OXID Logger.ERROR: OxidEsales\Eshop\Application\Controller\ExceptionErrorController is not an instance of OxidEsales\Eshop\Application\Component\Widget\WidgetController
["[object] (OxidEsales\\Eshop\\Core\\Exception\\ObjectException(code: 0): OxidEsales\\Eshop\\Application\\Controller\\ExceptionErrorController is not an instance of OxidEsales\\Eshop\\Application\\Component\\Widget\\WidgetController at \vendor\\oxid-esales\\oxideshop-ce\\source\\Core\\UtilsObject.php:231)
[stacktrace]
#0 \source\\oxfunctions.php(101): OxidEsales\\EshopCommunity\\Core\\UtilsObject->oxNew('OxidEsales\\\\Esho...', 'OxidEsales\\\\Esho...')
#1 \vendor\\oxid-esales\\oxideshop-ce\\source\\Core\\WidgetControl.php(130): oxNew('OxidEsales\\\\Esho...', 'OxidEsales\\\\Esho...')
#2 \vendor\\oxid-esales\\oxideshop-ce\\source\\Core\\ShopControl.php(272): OxidEsales\\EshopCommunity\\Core\\WidgetControl->_initializeViewObject('exceptionError', 'displayExceptio...', NULL, NULL)
#3 \vendor\\oxid-esales\\oxideshop-ce\\source\\Core\\ShopControl.php(794): OxidEsales\\EshopCommunity\\Core\\ShopControl->_process('exceptionError', 'displayExceptio...')
#4 \vendor\\oxid-esales\\oxideshop-ce\\source\\Core\\ShopControl.php(145): OxidEsales\\EshopCommunity\\Core\\ShopControl->_handleBaseException(Object(OxidEsales\\Eshop\\Core\\Exception\\ObjectException))
#5 \vendor\\oxid-esales\\oxideshop-ce\\source\\Core\\WidgetControl.php(62): OxidEsales\\EshopCommunity\\Core\\ShopControl->start('start', NULL, NULL, NULL)
#6 \source\\modules\\ava\\Utils\\Core\\WidgetControl.php(16): OxidEsales\\EshopCommunity\\Core\\WidgetControl->start(NULL, NULL, NULL, NULL)
#7 \vendor\\oxid-esales\\oxideshop-ce\\source\\Core\\Oxid.php(41): De\\Artvera\\Oxid\\Module\\Utils\\Core\\WidgetControl->start()
#8 \source\\widget.php(10): OxidEsales\\EshopCommunity\\Core\\Oxid::runWidget()
#9 {main}
"] []
Steps To Reproducejust call "widget.php" in the browser
TagsNo tags attached.
ThemeNot defined
BrowserNot defined
PHP VersionNot defined
Database VersionNot defined

Activities

QA

2019-06-06 16:05

administrator   ~0012909

-MK

mario_lorenz

2019-09-11 13:54

developer   ~0012994

I can confirm the behavior. Throwing an Exception is Ok, the shop owner or the developer should already hear the wrong call, but the shop should not show a white page with the status 200. It is better to do the redirect to the start page here as well, as happens when I call widget.php with a fantasy controller (widget.php?cl=FantasyXYC).
The background is that in our shop SearchBots are responsible for the "empty"-call and keep coming back, because the status 200 causes them to do so.

In my opion is the status 302 (temporary not available) for a fantasy-Controller call in the index.php and the widget.php also not the right solution. Because a robot will come back for a 302 page. Better is 404 or 503.

DayanaLuedecke

2019-12-12 13:35

reporter   ~0013066

We can reproduce. Had a lot of Exception in Logfile, because of doing a page scan with robot "Gtmetrix.com".