View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006992 | OXID eShop (all versions) | 1. ----- eShop frontend ----- | public | 2019-06-06 13:18 | 2019-12-12 13:35 |
Reporter | it artvera | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | acknowledged | Resolution | open | ||
Product Version | 6.1.2 | ||||
Summary | 0006992: 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 Reproduce | just call "widget.php" in the browser | ||||
Tags | No tags attached. | ||||
Theme | Not defined | ||||
Browser | Not defined | ||||
PHP Version | Not defined | ||||
Database Version | Not defined | ||||
|
-MK |
|
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. |
|
We can reproduce. Had a lot of Exception in Logfile, because of doing a page scan with robot "Gtmetrix.com". |