View Issue Details

IDProjectCategoryView StatusLast Update
0006558OXID eShop (all versions)2.3. Extensions (modules, themes)public2016-12-09 09:59
Reporterdmitrijus.druteika 
PriorityhighSeveritycriticalReproducibilityalways
Status resolvedResolutionfixed 
Product Version6.0.0-beta.1 
Target VersionFixed in Version6.0.0-beta.2 
Summary0006558: Unable to access directly controllers, which are defined in module "extend" section
DescriptionWhen a module overloads a controller using metadata "extend" section, and this controller is called directly with it's class name, there's an error show.
For example:
"Fatal error: Class 'OxpsPaymorrowPayment_parent' not found in /var/www/oxideshop/source/modules/oxps/paymorrow/controllers/oxpspaymorrowpayment.php on line 39"

So, extend controllers does now "know" their parent. Extend chain seems not to be resolved for a controller call.

NOTE: That could be critical also for widgets, various internal AJAX calls, etc.
Steps To ReproduceReal examples:
 - Activate eFire extension Paymorrow and try opening URL: http://[my_shop]/index.php?cl=oxpspaymorrowpayment - the error is shown.
 - The same issue was also reported by other colleagues, who were using other modules on v6
Additional InformationWhy important?
 - Perhaps many module from various vendors are using overloaded controllers URLs like this.
 - Even if fixed in each module, there would still be lots of SEO URLs and just links worldwide pointing to such URLs

So, it becomes very, very important not only for modules vendors but for shop owners, who will update to v6!
TagsNo tags attached.
ThemeNot defined
BrowserNot defined
PHP VersionNot defined
Database VersionNot defined

Relationships

related to 0006557 resolvedsaulius.stasiukaitis Namespaces conflict of "Payment" model VS controller in modules "extend" classes 
related to 0006547 resolvedsaulius.stasiukaitis Classes in module extend chain does not know instance of their real parent 

Activities

There are no notes attached to this issue.