So I have a custom widget with block defined in module's config.xml:
<config>
<modules>
(...)
</modules>
<global>
<blocks>
<gwidgets>
<class>Phil_Gwidgets_Block</class>
</gwidgets>
</blocks>
(...)
</global>
</config>
Block's file is under app/code/local/Phil/Gwidgets/Block/Slider.php
I believe this is where the problem starts. I insert the widget into Wysiwyg editor in back-and, refresh the front-end and it doesn't appear. I check system log and there's this error:
Warning: file_exists(): open_basedir restriction in effect. File(/usr/share/php5/Mage/Phil/Gwidgets/Block/Slider.php) is not within the allowed path(s): (/home/www/xyz/:/usr/bin/) in /home/www/xyz/html/app/code/core/Mage/Core/functions.php on line 145
So after setting up logging function in functions.php I've found out that these are the directories where autoloader attempts to find by block class:
/home/www/xyz/html/app/code/local/Mage/Phil/Gwidgets/Block/Slider.php
/home/www/xyz/html/app/code/community/Mage/Phil/Gwidgets/Block/Slider.php
/home/www/xyz/html/app/code/core/Mage/Phil/Gwidgets/Block/Slider.php
/home/www/xyz/html/lib/Mage/Phil/Gwidgets/Block/Slider.php
./Mage/Phil/Gwidgets/Block/Slider.php
/usr/share/php5/Mage/Phil/Gwidgets/Block/Slider.php
It nearly does it here:
/home/www/xyz/html/app/code/local/Mage/Phil/Gwidgets/Block/Slider.php
It would find it without '/Mage' in the path.
So the question is why Magento looks for Slider.php in ...local/Mage/...
rather than ...local/....
?
I'd appreciate any advice on how to fix this issue. :)