There is a bug accessing Vendor's Administration Interface in front-end if the template overrides Front Page HTML Layout (view: virtuemart).
How to reproduce it:
- Set Protostar as default Joomla template.
- Copy components/com_virtuemart/views/virtuemart/tmpl/default.php to templates/protostar/html/com_virtuemart/virtuemart/default.php
- Login to the site (front-end) as admin/vendor.
- Go to account page (index.php?option=com_virtuemart&view=user) and click on "Access Administration Interface" link.
- Now you will see the errors or a blank page if display_errors is disabled.
Reason:This is happening because Vendor's Administration Interface and Front Page share the same view class i.e.
VirtuemartViewVirtuemart When you try to access Vendor's Administration Interface in front end and when the Joomla template has Front Page HTML Layout override, it sets layout file as
templates/protostar/html/com_virtuemart/virtuemart/default.php instead of
administrator/components/com_virtuemart/views/virtuemart/tmpl/default.phpIdeally they should have two separate names for the views.
Temporary Solution:Open the Front Page HTML layout override file of your template. For the above TEST case it is
templates/protostar/html/com_virtuemart/virtuemart/default.phpFind the following codes around line 20:
defined('_JEXEC') or die('Restricted access');
Replace above by:
defined('_JEXEC') or die('Restricted access');
if(JFactory::getApplication()->input->getInt('manage', 0))
{
include(JPATH_ADMINISTRATOR . '/components/com_virtuemart/views/virtuemart/tmpl/default.php');
return;
}
Looking forward to a proper fix.