Shaper Travelia 2.0.2 - Joomla 6 compatibility issue with outdated template overrides - Forum | JoomShaper
Staff replied Templates

Shaper Travelia 2.0.2 - Joomla 6 compatibility issue with outdated template overrides

Asked by Olivier 2 months ago Last activity 2 months ago

Hello

I recently purchased and installed the latest version of Shaper Travelia (v2.0.2, June 2026) on a fresh Joomla 6 installation.

According to the changelog, this version is compatible with Joomla 6.1.1, but the frontend immediately throws fatal errors:

Class "JFactory" not found
Class "JHtml" not found

After investigation, I found that the issue comes from the template overrides located in:

templates/shaper_travelia/html/

Many PHP files still use deprecated Joomla 3 syntax, for example:

JFactory::getApplication()
JFactory::getDocument()
JHtml::addIncludePath()
JURI::root()
JText::_()

These classes were removed from Joomla 6 and need to be replaced by the corresponding namespace classes (Factory, HTMLHelper, Uri, Text, etc.).

The Helix3 plugin included with the template appears to have been updated for newer Joomla versions (it already uses Joomla namespaces), but the template overrides themselves still contain old Joomla 3 code.

Could you please provide an updated Joomla 6 compatible package, or confirm if there is a corrected version of the template overrides available? Because I don't know how you can claim the template is updated to be Joomla 6 compatible in the last changelogs but files from the 2.0.2 version ( the latest ) are made for a 10 years old version of Joomla...
Maybe you uploaded a wrong version ?

I am using:

Joomla: 6.1.1
Shaper Travelia: 2.0.2
PHP: 8.4

The installation is a clean Joomla 6 installation, not an upgraded Joomla 3/4/5 website.

Thank you for your help.

Best regards.

PS : if the issue is not resolved fast enough, I will ask my money back as I just paid the 99$ plan for this template specifically.

16 replies

Olivier Asked this
2 months ago · edited

Hello,

exact same issue with the new files.

They look mostly unchanged ?

Errors are related to this template absolutely not updated to J6.

Class "JFactory" not found (those are old classes used in J3)

and :

$doc = JFactory::getDocument();

$params = JFactory::getApplication()
->getTemplate(true)
->params;

$logo = JURI::root() . '/' . $logo_image;

still is J3 code.

TemplateDetails show version 3.9 too...

Toufiq Senior Staff

Could you kindly grant me access to your Joomla administrator area so that I can investigate the issue you're experiencing? Prior to providing access, please ensure that you have backed up your site. Additionally, it's important to note that providing login credentials is entirely voluntary on your part; we respect your decision either way. However, if you do choose to share the login details, it would greatly expedite the resolution process. Thank you for your cooperation.

Olivier Asked this

The website is currently being developed locally, so I can't provide access to it.

However, the issue is reproducible on a clean Joomla 6.1.1 installation. ( it IS a clean install )

The frontend immediately throws fatal errors such as:

  • "Class "JFactory" not found"
  • "Class "JHtml" not found"

After investigating, I found that the template contains more than 50 occurrences of deprecated classes such as "JFactory", "JHtml", "JURI" and "JText" in files like "templates/shaper_travelia/error.php" and the "html/com_content" overrides. These are the files causing the fatal errors.

I've tested both the latest package available for download from my JoomShaper account and the files you sent me, and I get exactly the same result.

If there's an updated package, a hotfix, or an additional patch required for Joomla 6 compatibility, could you please send it to me?

I'd really appreciate a quick resolution, as this is currently blocking my development.

Helix3 plugin is enabled, if that's your concern

Toufiq Senior Staff

Download this file and replace this file on this location.

templates/shaper_travelia/error.php

error.php.zip

Olivier Asked this

I don't understand. How a simple error.php file will migrate the whole template to Joomla 6 ?

Here are all the errors I have so maybe you will understand what I mean when I say that the template is NOT Joomla 6 compatible. All those class are not used anymore in J6 but still are massively present in the php files.

Attempted to load class "JDocumentRendererHead" from the global namespace.
Did you forget a "use" statement?
Symfony\Component\ErrorHandler\Error\
ClassNotFoundError
in C:\laragon\www\website1\templates\shaper_travelia\error.php (line 53)
  $head = JPATH_LIBRARIES . '/joomla/document/html/renderer/head.php';  if(file_exists($head)) {    require_once($head);  }}$header_renderer = new JDocumentRendererHead($doc);$header_contents = $header_renderer->render(null);//background image$error_bg = '';$hascs_bg = '';
require()
in C:\laragon\www\website1\libraries\src\Document\HtmlDocument.php (line 734)
HtmlDocument->_loadTemplate('C:\\laragon\\www\\website1\\templates/shaper_travelia', 'error.php')
in C:\laragon\www\website1\libraries\src\Document\HtmlDocument.php (line 791)
HtmlDocument->_fetchTemplate(array('template' => 'shaper_travelia', 'directory' => 'C:\\laragon\\www\\website1\\templates', 'debug' => true, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php'))
in C:\laragon\www\website1\libraries\src\Document\HtmlDocument.php (line 625)
HtmlDocument->parse(array('template' => 'shaper_travelia', 'directory' => 'C:\\laragon\\www\\website1\\templates', 'debug' => true, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php'))
in C:\laragon\www\website1\libraries\src\Document\HtmlDocument.php (line 643)
HtmlDocument->render(false, array('template' => 'shaper_travelia', 'directory' => 'C:\\laragon\\www\\website1\\templates', 'debug' => true, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php'))
in C:\laragon\www\website1\libraries\src\Document\ErrorDocument.php (line 139)
ErrorDocument->render(false, array('template' => 'shaper_travelia', 'directory' => 'C:\\laragon\\www\\website1\\templates', 'debug' => true, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php'))
in C:\laragon\www\website1\libraries\src\Error\Renderer\HtmlRenderer.php (line 70)
HtmlRenderer->render(object(Error))
in C:\laragon\www\website1\libraries\src\Exception\ExceptionHandler.php (line 142)
ExceptionHandler::render(object(Error))
in C:\laragon\www\website1\libraries\src\Exception\ExceptionHandler.php (line 76)
ExceptionHandler::handleException(object(Error))
in C:\laragon\www\website1\libraries\src\Application\CMSApplication.php (line 350)
CMSApplication->execute()
in C:\laragon\www\website1\includes\app.php (line 58)
require_once('C:\\laragon\\www\\website1\\includes\\app.php')
in C:\laragon\www\website1\index.php (line 51)
Error
Class "JFactory" not found

in C:\laragon\www\website1\templates\shaper_travelia\html\layouts\joomla\content\post_formats\icons.php (line 12)
 * @license     GNU General Public License version 2 or later; see LICENSE.txt */defined('JPATH_BASE') or die;$params     = JFactory::getApplication()->getTemplate(true)->params;$format = $displayData;if($params->get('show_post_format')) {
include()
in C:\laragon\www\website1\libraries\src\Layout\FileLayout.php (line 128)
FileLayout->render('standard')
in C:\laragon\www\website1\libraries\src\Layout\LayoutHelper.php (line 76)
LayoutHelper::render('joomla.content.post_formats.icons', 'standard')
in C:\laragon\www\website1\templates\shaper_travelia\html\com_content\article\default.php (line 84)
include('C:\\laragon\\www\\website1\\templates\\shaper_travelia\\html\\com_content\\article\\default.php')
in C:\laragon\www\website1\libraries\src\MVC\View\HtmlView.php (line 423)
HtmlView->loadTemplate(null)
in C:\laragon\www\website1\libraries\src\MVC\View\HtmlView.php (line 204)
HtmlView->display(null)
in C:\laragon\www\website1\components\com_content\src\View\Article\HtmlView.php (line 261)
HtmlView->display()
in C:\laragon\www\website1\libraries\src\MVC\Controller\BaseController.php (line 697)
BaseController->display(true, array('catid' => 'INT', 'id' => 'INT', 'cid' => 'ARRAY', 'year' => 'INT', 'month' => 'INT', 'limit' => 'UINT', 'limitstart' => 'UINT', 'showall' => 'INT', 'return' => 'BASE64', 'filter' => 'STRING', 'filter_order' => 'CMD', 'filter_order_Dir' => 'CMD', 'filter-search' => 'STRING', 'print' => 'BOOLEAN', 'lang' => 'CMD', 'Itemid' => 'INT'))
in C:\laragon\www\website1\components\com_content\src\Controller\DisplayController.php (line 123)
DisplayController->display()
in C:\laragon\www\website1\libraries\src\MVC\Controller\BaseController.php (line 730)
BaseController->execute('display')
in C:\laragon\www\website1\libraries\src\Dispatcher\ComponentDispatcher.php (line 143)
ComponentDispatcher->dispatch()
in C:\laragon\www\website1\components\com_content\src\Dispatcher\Dispatcher.php (line 56)
Dispatcher->dispatch()
in C:\laragon\www\website1\libraries\src\Component\ComponentHelper.php (line 361)
ComponentHelper::renderComponent('com_content')
in C:\laragon\www\website1\libraries\src\Application\SiteApplication.php (line 218)
SiteApplication->dispatch()
in C:\laragon\www\website1\libraries\src\Application\SiteApplication.php (line 272)
SiteApplication->doExecute()
in C:\laragon\www\website1\libraries\src\Application\CMSApplication.php (line 320)
CMSApplication->execute()
in C:\laragon\www\website1\includes\app.php (line 58)
require_once('C:\\laragon\\www\\website1\\includes\\app.php')
in C:\laragon\www\website1\index.php (line 51)
Toufiq Senior Staff

Create an staging site and share login information. I will solve it asap. Thanks

Olivier Asked this
2 months ago · edited

I'm sorry, but I'm really starting to lose my patience.

I don't understand why you need me to set up a staging website for you to investigate this issue. The website is being developed locally, and I purchased the template because it is advertised as compatible with Joomla 6.

Can't you simply reproduce the issue yourselves by installing the latest Travelia package on a clean Joomla 6.1.1 installation?

I don't understand why this hasn't been done already.

I've already spent 2 days troubleshooting this, and I'm now being asked to spend even more time setting up a staging site instead of receiving a working package.

The files I downloaded from my account, as well as the files you sent me, still contain dozens of references to legacy Joomla classes such as JFactory, JHtml, JURI and JText. The frontend immediately throws fatal errors like Class "JFactory" not found and Class "JHtml" not found on a fresh Joomla 6 installation.

At this point, I simply want the product I paid for: a version of Travelia that actually works with Joomla 6, exactly as advertised on your website and in your changelog.

If this isn't resolved by tomorrow, I'll unfortunately have to request a refund because I've already lost far too much time trying to make a supposedly Joomla 6 compatible template work. And I don't want to modify 50+ files to fix old J3 classes that are everywhere...

alleja

Any news about the real update of this template for J6?

Toufiq Senior Staff

We are working on this template. Please allow me time. Thanks

alleja

sure, but an estimated endline?

alleja

it is NOT compatible also with Joomla 5:

you can see the homepage with all the articles, but when click on one of them to open it you get this:

logo travelia
0
Class "JRequest" not found

alleja

I downloaded it, the only template, 1 h ago. installed. and it generates error.

Toufiq Senior Staff

Please download again only template only.

Log in to reply.