-- url of the page with the problem -- :
www.mesefarm.hu
-- HikaShop version -- : 6.5.1
-- Joomla version -- : 6.1.2
-- PHP version -- : 8.5
-- Browser(s) name and version -- : Chrome - 150.0.7871.128
Hello,
I would like to report a compatibility issue involving HikaShop Business 6.5.1, Joomla 6.1.1 and the T3 framework used by the JA Focus template.
### Environment
* Joomla 6.1.1
* PHP 8.5
* HikaShop Business 6.5.1
* JA Focus template
* T3 Framework
* Joomla Behaviour – Backward Compatibility 6 plugin enabled
### Problem
After enabling certain HikaShop system plugins, the frontend layout is rendered incorrectly.
The plugins that consistently trigger the issue are:
* HikaShop Mass Action
* HikaShop Payment Notification
* HikaShop Product Tag Translation
* HikaShop Social Networks
* HikaShop User Synchronization
There is no PHP error, and the affected pages still return HTTP 200. The CSS files are also loaded correctly.
However, the T3 module chrome disappears from the generated HTML.
In the correct output, modules are wrapped with elements such as:
```html
<div class="t3-module module ..." id="Mod103">
<div class="module-inner">
<div class="module-ct">
...
</div>
</div>
</div>
```
When one of the affected HikaShop system plugins is enabled, these elements disappear:
* `t3-module`
* `module-inner`
* `module-ct`
* module identifiers such as `id="Mod103"`
The module content itself is still generated, but Joomla’s default module rendering is used instead of the T3 renderer.
This causes several visible problems:
* homepage images and modules are displayed incorrectly;
* module and text colours change;
* sidebar formatting disappears;
* the off-canvas and other module positions lose their T3 structure.
### Investigation
The issue appears to be connected to the HikaShop compatibility alias loader:
```text
administrator/components/com_hikashop/pluginCompatAliases.php
```
The file contains an alias for:
```php
'JModuleHelper' => 'Joomla\CMS\Helper\ModuleHelper',
```
and processes the aliases using code equivalent to:
```php
foreach ($aliases as $alias => $original) {
if (!class_exists($alias)) {
class_alias($original, $alias);
}
}
```
This can autoload Joomla's core `ModuleHelper` before T3 installs or loads its own module rendering implementation.
Once the Joomla core class has been loaded, T3 can no longer take over the module rendering path. As a result, the page is generated without T3 module chrome.
We also noticed that the Joomla 5/6 compatibility check appears to use the Joomla 5 plugin name:
```php
PluginHelper::isEnabled('behaviour', 'compat')
```
On Joomla 6, the relevant backward compatibility plugin is:
```text
compat6
```
### Confirmed workaround
We created a small system plugin that runs before the HikaShop system plugins and prevents the legacy alias block from being initialized by defining the guard already used by HikaShop:
```php
define('HIKASHOP_LEGACY_ALIASES', true);
```
This is applied only when:
* Joomla 6 is running;
* the T3 system plugin is enabled;
* the Joomla `compat6` behaviour plugin is enabled;
* the known HikaShop 6.5.1 alias pattern is present.
With this guard enabled, all affected HikaShop system plugins can remain active and the T3 module rendering is restored.
The frontend HTML again contains:
```text
t3-module
module-inner
module-ct
ModXX identifiers
```
This confirms that the early HikaShop legacy alias initialization is involved in the problem.
### Suggested fix
A possible HikaShop-side fix would be to use the correct compatibility plugin name on Joomla 6:
```php
$compatPlugin = HIKASHOP_J60 ? 'compat6' : 'compat';
```
The alias registration should also avoid autoloading the target class during the initial check. For example:
```php
foreach ($aliases as $alias => $original) {
if (!class_exists($alias, false)) {
JLoader::registerAlias($alias, $original);
}
}
```
The exact implementation is of course up to the HikaShop developers, but the important part is that the compatibility layer should not eagerly load Joomla's core `ModuleHelper` before template frameworks such as T3 initialize their renderer.
### Additional notes
We tested and excluded the following possible causes:
* HikaShop frontend CSS;
* missing CSS files;
* frontend editing;
* HikaShop plugin ordering alone;
* “Load HikaShop on all pages”;
* modifications to `pluginCompatJ4.php`.
No HikaShop core file is currently modified on the live site. We are using the separate guard plugin as a temporary, update-safe workaround.
Could you please confirm whether this early legacy alias initialization is expected on Joomla 6, and whether it could be adjusted in a future HikaShop release?
I can provide the good and faulty HTML output, the minimal workaround plugin, and a proposed patch if needed.
Thank you.