View Issue Details

IDProjectCategoryView StatusLast Update
0004301OXID eShop (all versions)4.10. AutoLoaderpublic2018-12-03 15:40
Reportertomas_liubinas Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionno change required 
Summary0004301: Module inclusion from non standard directory does not work
DescriptionWhen you include module class from non standard directory it disables the module automatically.
Steps To Reproduce1.
define the class tesMod in testmod.php but non standard dir:

<?php

class testMod extend testMod_parent {}
?>

2. define module chain in config for aModules, let's say oxarticle => testmod.

3. from any place in the code execute:
require_once <yourNonstandardModuleDir>."testmod.php";

In this case module is automatically disabled.
Additional InformationIn above example disabling module occurs in autoload() function called on testMod_parent from testMod class declaration. it autoamtically checks for all existing classes from the module chain. As at this moment testmod class is cosidered not yet defined it disables this module. (As it thinks that testMod.php has accidently been deleted).
TagsNo tags attached.
ThemeNot defined
BrowserAll
PHP VersionNot defined
Database VersionNot defined

Activities

svetlana

2014-03-28 09:59

reporter   ~0009696

waiting for the PO decision.

QA

2018-12-03 15:40

administrator   ~0012717

With version 6 we are using composer. With composer you can register own Namespaces and the target path, where your extension is located at: https://docs.oxid-esales.com/developer/en/6.1/modules/using_namespaces_in_modules.html