Joomla HTML & JHtml helper changes: Joomla 3 → 4, 5 and 6
32 issues in this guide
HTMLHelper is the other giant alias family after JFactory. This guide groups 32 entries spanning JButton, JGrid, JHtmlBatch, JHtml, JHtml::_('form.token'), JHtml::_('grid.sort'), JHtmlAccess, JHtmlBootstrap, JHtmlCategory, JHtmlContent, and 22 more. The replacement pattern is use Joomla\CMS\HTML\HTMLHelper (and Toolbar\ToolbarHelper / ToolbarButton where relevant), then HTMLHelper::_('…') or the specialised helper class — never the J-prefixed global. form.token and grid.sort stay as HTMLHelper calls; batch UI moves to joomla.html.batch.* layouts; sidebar entries move off JSubMenuHelper. Hop mix: 4 at Joomla 3 → 4; 28 at Joomla 5 → 6. Most of these survive as aliases through Joomla 5 and fatal on native Joomla 6. Pair this guide with Deprecated JavaScript: behavior.* loads that pulled MooTools are not the same problem as renaming JHtml itself. Use each anchor below for the exact class map from the catalog. Catalog replacements in this guide include JButton → Joomla\CMS\Toolbar\ToolbarButton; JGrid → HTMLHelper grid / layouts — no 1:1 class; JHtmlBatch → Layouts joomla.html.batch.*; JHtml → Joomla\CMS\HTML\HTMLHelper. Open each h2 anchor for the full before/after, fix list, and error strings shipped in the reference data.
JGRID-CLASS-001
JGrid
JGrid
JGrid was deleted in Joomla 4 with no class alias.
JGrid → HTMLHelper grid / layouts — no 1:1 class
Dies at Joomla 3 → 4What you will see
- Class "JGrid" not found
Symptoms people search
admin grid 500
Replace this code
Swap JGrid for HTMLHelper grid / layouts — no 1:1 class.
Joomla 3
Remove or stop calling this
$grid = new JGrid();Joomla 4 / 6
Use this instead
Use HTMLHelper::_('grid.id') / searchtools layouts. Do not instantiate JGrid.How to fix it
- 1Rewrite admin grids to core HTMLHelper and layouts.
Also known as
JGrid
There is no 1:1 swap for this one. The architecture changed. If you cannot rewrite it, Infyways can.
JHTML-BATCH-001
JHtmlBatch
JHtmlBatch
Batch HTML helpers were replaced by layouts in Joomla 4.
JHtmlBatch → Layouts joomla.html.batch.*
Dies at Joomla 3 → 4What you will see
- Class "JHtmlBatch" not found
Symptoms people search
batch modal empty in admin list
Replace this code
Swap JHtmlBatch for Layouts joomla.html.batch.*.
Joomla 3
Remove or stop calling this
echo JHtml::_('batch.access');Joomla 4 / 6
Use this instead
echo LayoutHelper::render('joomla.html.batch.access', $displayData);How to fix it
- 1Swap JHtml batch calls for the joomla.html.batch layouts.
Also known as
JHtmlBatch
JHTML-CLASS-001
JHtml
JHtml class name
JHtml is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtml" not found.
JHtml → Joomla\CMS\HTML\HTMLHelper
Dies at Joomla 5 → 6What you will see
- Class "JHtml" not found
- Class 'JHtml' not found
- Failed to open stream: JHtml
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility · JHtml::_ not found
Replace this code
Swap JHtml for Joomla\CMS\HTML\HTMLHelper.
Joomla 3
Remove or stop calling this
JHtml::getInstance();
// or new JHtml()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\HTMLHelper;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\HTMLHelper.
- 2Replace every JHtml with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtml · Joomla\CMS\HTML\HTMLHelper · class alias · J prefix
JHTML-FORM-TOKEN-001
JHtml::_('form.token')
JHtml::_('form.token') (keep this)
Tokens are not deprecated. Only the JHtml class name is. Do not delete CSRF tokens while “cleaning J3 APIs”.
JHtml::_('form.token') → HTMLHelper::_('form.token') — still required
Dies at Joomla 5 → 6Symptoms people search
form token · invalid token after upgrade
Replace this code
Swap JHtml::_('form.token') for HTMLHelper::_('form.token') — still required.
Joomla 3
Remove or stop calling this
echo JHtml::_('form.token');Joomla 4 / 6
Use this instead
echo HTMLHelper::_('form.token');How to fix it
- 1Keep the token.
- 2Switch JHtml to HTMLHelper.
Also known as
form.token · CSRF
JHTML-GRID-001
JHtml::_('grid.sort')
JHtml::_('grid.*')
grid.* helpers still alias on J4/J5. Admin lists should use searchtools like Atum.
JHtml::_('grid.sort') → HTMLHelper grid + joomla.searchtools
Dies at Joomla 5 → 6Symptoms people search
admin list checkboxes ugly · grid.sort
Replace this code
Swap JHtml::_('grid.sort') for HTMLHelper grid + joomla.searchtools.
Joomla 3
Remove or stop calling this
echo JHtml::_('grid.sort', 'Title', 'a.title', $listDirn, $listOrder);Joomla 4 / 6
Use this instead
echo HTMLHelper::_('searchtools.sort', 'Title', 'a.title', $listDirn, $listOrder);How to fix it
- 1Move list views to searchtools layouts.
- 2Keep HTMLHelper, drop JHtml.
Also known as
grid.sort · grid.id · searchtools
JHTMLACCESS-CLASS-001
JHtmlAccess
JHtmlAccess class name
JHtmlAccess is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlAccess" not found.
JHtmlAccess → Joomla\CMS\HTML\Helpers\Access
Dies at Joomla 5 → 6What you will see
- Class "JHtmlAccess" not found
- Class 'JHtmlAccess' not found
- Failed to open stream: JHtmlAccess
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlAccess for Joomla\CMS\HTML\Helpers\Access.
Joomla 3
Remove or stop calling this
JHtmlAccess::getInstance();
// or new JHtmlAccess()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\Access;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\Access.
- 2Replace every JHtmlAccess with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlAccess · Joomla\CMS\HTML\Helpers\Access · class alias · J prefix
JHTMLBOOTSTRAP-CLASS-001
JHtmlBootstrap
JHtmlBootstrap class name
JHtmlBootstrap is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlBootstrap" not found.
JHtmlBootstrap → Joomla\CMS\HTML\Helpers\Bootstrap
Dies at Joomla 5 → 6What you will see
- Class "JHtmlBootstrap" not found
- Class 'JHtmlBootstrap' not found
- Failed to open stream: JHtmlBootstrap
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlBootstrap for Joomla\CMS\HTML\Helpers\Bootstrap.
Joomla 3
Remove or stop calling this
JHtmlBootstrap::getInstance();
// or new JHtmlBootstrap()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\Bootstrap;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\Bootstrap.
- 2Replace every JHtmlBootstrap with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlBootstrap · Joomla\CMS\HTML\Helpers\Bootstrap · class alias · J prefix
JHTMLCATEGORY-CLASS-001
JHtmlCategory
JHtmlCategory class name
JHtmlCategory is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlCategory" not found.
JHtmlCategory → Joomla\CMS\HTML\Helpers\Category
Dies at Joomla 5 → 6What you will see
- Class "JHtmlCategory" not found
- Class 'JHtmlCategory' not found
- Failed to open stream: JHtmlCategory
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlCategory for Joomla\CMS\HTML\Helpers\Category.
Joomla 3
Remove or stop calling this
JHtmlCategory::getInstance();
// or new JHtmlCategory()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\Category;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\Category.
- 2Replace every JHtmlCategory with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlCategory · Joomla\CMS\HTML\Helpers\Category · class alias · J prefix
JHTMLCONTENT-CLASS-001
JHtmlContent
JHtmlContent class name
JHtmlContent is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlContent" not found.
JHtmlContent → Joomla\CMS\HTML\Helpers\Content
Dies at Joomla 5 → 6What you will see
- Class "JHtmlContent" not found
- Class 'JHtmlContent' not found
- Failed to open stream: JHtmlContent
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlContent for Joomla\CMS\HTML\Helpers\Content.
Joomla 3
Remove or stop calling this
JHtmlContent::getInstance();
// or new JHtmlContent()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\Content;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\Content.
- 2Replace every JHtmlContent with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlContent · Joomla\CMS\HTML\Helpers\Content · class alias · J prefix
JHTMLDATE-CLASS-001
JHtmlDate
JHtmlDate class name
JHtmlDate is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlDate" not found.
JHtmlDate → Joomla\CMS\HTML\Helpers\Date
Dies at Joomla 5 → 6What you will see
- Class "JHtmlDate" not found
- Class 'JHtmlDate' not found
- Failed to open stream: JHtmlDate
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlDate for Joomla\CMS\HTML\Helpers\Date.
Joomla 3
Remove or stop calling this
JHtmlDate::getInstance();
// or new JHtmlDate()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\Date;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\Date.
- 2Replace every JHtmlDate with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlDate · Joomla\CMS\HTML\Helpers\Date · class alias · J prefix
JHTMLEMAIL-CLASS-001
JHtmlEmail
JHtmlEmail class name
JHtmlEmail is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlEmail" not found.
JHtmlEmail → Joomla\CMS\HTML\Helpers\Email
Dies at Joomla 5 → 6What you will see
- Class "JHtmlEmail" not found
- Class 'JHtmlEmail' not found
- Failed to open stream: JHtmlEmail
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlEmail for Joomla\CMS\HTML\Helpers\Email.
Joomla 3
Remove or stop calling this
JHtmlEmail::getInstance();
// or new JHtmlEmail()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\Email;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\Email.
- 2Replace every JHtmlEmail with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlEmail · Joomla\CMS\HTML\Helpers\Email · class alias · J prefix
JHTMLFORM-CLASS-001
JHtmlForm
JHtmlForm class name
JHtmlForm is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlForm" not found.
JHtmlForm → Joomla\CMS\HTML\Helpers\Form
Dies at Joomla 5 → 6What you will see
- Class "JHtmlForm" not found
- Class 'JHtmlForm' not found
- Failed to open stream: JHtmlForm
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlForm for Joomla\CMS\HTML\Helpers\Form.
Joomla 3
Remove or stop calling this
JHtmlForm::getInstance();
// or new JHtmlForm()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\Form;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\Form.
- 2Replace every JHtmlForm with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlForm · Joomla\CMS\HTML\Helpers\Form · class alias · J prefix
JHTMLGRID-CLASS-001
JHtmlGrid
JHtmlGrid class name
JHtmlGrid is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlGrid" not found.
JHtmlGrid → Joomla\CMS\HTML\Helpers\Grid
Dies at Joomla 5 → 6What you will see
- Class "JHtmlGrid" not found
- Class 'JHtmlGrid' not found
- Failed to open stream: JHtmlGrid
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlGrid for Joomla\CMS\HTML\Helpers\Grid.
Joomla 3
Remove or stop calling this
JHtmlGrid::getInstance();
// or new JHtmlGrid()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\Grid;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\Grid.
- 2Replace every JHtmlGrid with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlGrid · Joomla\CMS\HTML\Helpers\Grid · class alias · J prefix
JHTMLJGRID-CLASS-001
JHtmlJGrid
JHtmlJGrid class name
JHtmlJGrid is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlJGrid" not found.
JHtmlJGrid → Joomla\CMS\HTML\Helpers\JGrid
Dies at Joomla 5 → 6What you will see
- Class "JHtmlJGrid" not found
- Class 'JHtmlJGrid' not found
- Failed to open stream: JHtmlJGrid
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlJGrid for Joomla\CMS\HTML\Helpers\JGrid.
Joomla 3
Remove or stop calling this
JHtmlJGrid::getInstance();
// or new JHtmlJGrid()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\JGrid;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\JGrid.
- 2Replace every JHtmlJGrid with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlJGrid · Joomla\CMS\HTML\Helpers\JGrid · class alias · J prefix
JHTMLLIST-CLASS-001
JHtmlList
JHtmlList class name
JHtmlList is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlList" not found.
JHtmlList → Joomla\CMS\HTML\Helpers\HtmlList
Dies at Joomla 5 → 6What you will see
- Class "JHtmlList" not found
- Class 'JHtmlList' not found
- Failed to open stream: JHtmlList
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlList for Joomla\CMS\HTML\Helpers\HtmlList.
Joomla 3
Remove or stop calling this
JHtmlList::getInstance();
// or new JHtmlList()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\HtmlList;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\HtmlList.
- 2Replace every JHtmlList with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlList · Joomla\CMS\HTML\Helpers\HtmlList · class alias · J prefix
JHTMLNUMBER-CLASS-001
JHtmlNumber
JHtmlNumber class name
JHtmlNumber is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlNumber" not found.
JHtmlNumber → Joomla\CMS\HTML\Helpers\Number
Dies at Joomla 5 → 6What you will see
- Class "JHtmlNumber" not found
- Class 'JHtmlNumber' not found
- Failed to open stream: JHtmlNumber
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlNumber for Joomla\CMS\HTML\Helpers\Number.
Joomla 3
Remove or stop calling this
JHtmlNumber::getInstance();
// or new JHtmlNumber()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\Number;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\Number.
- 2Replace every JHtmlNumber with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlNumber · Joomla\CMS\HTML\Helpers\Number · class alias · J prefix
JHTMLSEARCHTOOLS-CLASS-001
JHtmlSearchtools
JHtmlSearchtools class name
JHtmlSearchtools is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlSearchtools" not found.
JHtmlSearchtools → Joomla\CMS\HTML\Helpers\SearchTools
Dies at Joomla 5 → 6What you will see
- Class "JHtmlSearchtools" not found
- Class 'JHtmlSearchtools' not found
- Failed to open stream: JHtmlSearchtools
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlSearchtools for Joomla\CMS\HTML\Helpers\SearchTools.
Joomla 3
Remove or stop calling this
JHtmlSearchtools::getInstance();
// or new JHtmlSearchtools()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\SearchTools;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\SearchTools.
- 2Replace every JHtmlSearchtools with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlSearchtools · Joomla\CMS\HTML\Helpers\SearchTools · class alias · J prefix
JHTMLSELECT-CLASS-001
JHtmlSelect
JHtmlSelect class name
JHtmlSelect is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlSelect" not found.
JHtmlSelect → Joomla\CMS\HTML\Helpers\Select
Dies at Joomla 5 → 6What you will see
- Class "JHtmlSelect" not found
- Class 'JHtmlSelect' not found
- Failed to open stream: JHtmlSelect
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlSelect for Joomla\CMS\HTML\Helpers\Select.
Joomla 3
Remove or stop calling this
JHtmlSelect::getInstance();
// or new JHtmlSelect()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\Select;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\Select.
- 2Replace every JHtmlSelect with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlSelect · Joomla\CMS\HTML\Helpers\Select · class alias · J prefix
JHTMLSORTABLE-CLASS-001
JHtmlSortablelist
JHtmlSortablelist class name
JHtmlSortablelist is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlSortablelist" not found.
JHtmlSortablelist → Joomla\CMS\HTML\Helpers\SortableList
Dies at Joomla 5 → 6What you will see
- Class "JHtmlSortablelist" not found
- Class 'JHtmlSortablelist' not found
- Failed to open stream: JHtmlSortablelist
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlSortablelist for Joomla\CMS\HTML\Helpers\SortableList.
Joomla 3
Remove or stop calling this
JHtmlSortablelist::getInstance();
// or new JHtmlSortablelist()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\SortableList;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\SortableList.
- 2Replace every JHtmlSortablelist with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlSortablelist · Joomla\CMS\HTML\Helpers\SortableList · class alias · J prefix
JHTMLSTRING-CLASS-001
JHtmlString
JHtmlString class name
JHtmlString is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlString" not found.
JHtmlString → Joomla\CMS\HTML\Helpers\StringHelper
Dies at Joomla 5 → 6What you will see
- Class "JHtmlString" not found
- Class 'JHtmlString' not found
- Failed to open stream: JHtmlString
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlString for Joomla\CMS\HTML\Helpers\StringHelper.
Joomla 3
Remove or stop calling this
JHtmlString::getInstance();
// or new JHtmlString()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\StringHelper;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\StringHelper.
- 2Replace every JHtmlString with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlString · Joomla\CMS\HTML\Helpers\StringHelper · class alias · J prefix
JHTMLTAG-CLASS-001
JHtmlTag
JHtmlTag class name
JHtmlTag is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlTag" not found.
JHtmlTag → Joomla\CMS\HTML\Helpers\Tag
Dies at Joomla 5 → 6What you will see
- Class "JHtmlTag" not found
- Class 'JHtmlTag' not found
- Failed to open stream: JHtmlTag
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlTag for Joomla\CMS\HTML\Helpers\Tag.
Joomla 3
Remove or stop calling this
JHtmlTag::getInstance();
// or new JHtmlTag()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\Tag;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\Tag.
- 2Replace every JHtmlTag with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlTag · Joomla\CMS\HTML\Helpers\Tag · class alias · J prefix
JHTMLUSER-CLASS-001
JHtmlUser
JHtmlUser class name
JHtmlUser is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHtmlUser" not found.
JHtmlUser → Joomla\CMS\HTML\Helpers\User
Dies at Joomla 5 → 6What you will see
- Class "JHtmlUser" not found
- Class 'JHtmlUser' not found
- Failed to open stream: JHtmlUser
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHtmlUser for Joomla\CMS\HTML\Helpers\User.
Joomla 3
Remove or stop calling this
JHtmlUser::getInstance();
// or new JHtmlUser()Joomla 4 / 6
Use this instead
use Joomla\CMS\HTML\Helpers\User;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\HTML\Helpers\User.
- 2Replace every JHtmlUser with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHtmlUser · Joomla\CMS\HTML\Helpers\User · class alias · J prefix
JMICRODATA-CLASS-001
JMicrodata
JMicrodata class name
JMicrodata is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JMicrodata" not found.
JMicrodata → Joomla\CMS\Microdata\Microdata
Dies at Joomla 5 → 6What you will see
- Class "JMicrodata" not found
- Class 'JMicrodata' not found
- Failed to open stream: JMicrodata
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JMicrodata for Joomla\CMS\Microdata\Microdata.
Joomla 3
Remove or stop calling this
JMicrodata::getInstance();
// or new JMicrodata()Joomla 4 / 6
Use this instead
use Joomla\CMS\Microdata\Microdata;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Microdata\Microdata.
- 2Replace every JMicrodata with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JMicrodata · Joomla\CMS\Microdata\Microdata · class alias · J prefix
JTOOLBAR-CLASS-001
JToolbar
JToolbar class name
JToolbar is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JToolbar" not found.
JToolbar → Joomla\CMS\Toolbar\Toolbar
Dies at Joomla 5 → 6What you will see
- Class "JToolbar" not found
- Class 'JToolbar' not found
- Failed to open stream: JToolbar
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JToolbar for Joomla\CMS\Toolbar\Toolbar.
Joomla 3
Remove or stop calling this
JToolbar::getInstance();
// or new JToolbar()Joomla 4 / 6
Use this instead
use Joomla\CMS\Toolbar\Toolbar;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Toolbar\Toolbar.
- 2Replace every JToolbar with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JToolbar · Joomla\CMS\Toolbar\Toolbar · class alias · J prefix · JToolBar
JTOOLBAR-SLIDER-001
JToolbarButtonSlider
JToolbarButtonSlider
The slider toolbar button was removed from the Joomla 4 toolbar.
JToolbarButtonSlider → Standard / popup toolbar buttons
Dies at Joomla 3 → 4What you will see
- Class "JToolbarButtonSlider" not found
Symptoms people search
admin toolbar slider missing
Replace this code
Swap JToolbarButtonSlider for Standard / popup toolbar buttons.
Joomla 3
Remove or stop calling this
JToolbarHelper::slider('help');Joomla 4 / 6
Use this instead
// Slider toolbar buttons are obsolete. Use a standard button, popup, or a layout.How to fix it
- 1Replace slider buttons with a normal toolbar button or a Bootstrap offcanvas.
Also known as
JToolbarButtonSlider · ToolbarHelper::slider
JTOOLBAR2-CLASS-001
JToolBar
JToolBar class name
JToolBar is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JToolBar" not found.
JToolBar → Joomla\CMS\Toolbar\Toolbar
Dies at Joomla 5 → 6What you will see
- Class "JToolBar" not found
- Class 'JToolBar' not found
- Failed to open stream: JToolBar
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JToolBar for Joomla\CMS\Toolbar\Toolbar.
Joomla 3
Remove or stop calling this
JToolBar::getInstance();
// or new JToolBar()Joomla 4 / 6
Use this instead
use Joomla\CMS\Toolbar\Toolbar;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Toolbar\Toolbar.
- 2Replace every JToolBar with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JToolBar · Joomla\CMS\Toolbar\Toolbar · class alias · J prefix
JTOOLBARHELPER-CLASS-001
JToolbarHelper
JToolbarHelper class name
JToolbarHelper is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JToolbarHelper" not found.
JToolbarHelper → Joomla\CMS\Toolbar\ToolbarHelper
Dies at Joomla 5 → 6What you will see
- Class "JToolbarHelper" not found
- Class 'JToolbarHelper' not found
- Failed to open stream: JToolbarHelper
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JToolbarHelper for Joomla\CMS\Toolbar\ToolbarHelper.
Joomla 3
Remove or stop calling this
JToolbarHelper::getInstance();
// or new JToolbarHelper()Joomla 4 / 6
Use this instead
use Joomla\CMS\Toolbar\ToolbarHelper;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Toolbar\ToolbarHelper.
- 2Replace every JToolbarHelper with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JToolbarHelper · Joomla\CMS\Toolbar\ToolbarHelper · class alias · J prefix
JTOOLBARHELPER2-CLASS-001
JToolBarHelper
JToolBarHelper class name
JToolBarHelper is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JToolBarHelper" not found.
JToolBarHelper → Joomla\CMS\Toolbar\ToolbarHelper
Dies at Joomla 5 → 6What you will see
- Class "JToolBarHelper" not found
- Class 'JToolBarHelper' not found
- Failed to open stream: JToolBarHelper
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JToolBarHelper for Joomla\CMS\Toolbar\ToolbarHelper.
Joomla 3
Remove or stop calling this
JToolBarHelper::getInstance();
// or new JToolBarHelper()Joomla 4 / 6
Use this instead
use Joomla\CMS\Toolbar\ToolbarHelper;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Toolbar\ToolbarHelper.
- 2Replace every JToolBarHelper with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JToolBarHelper · Joomla\CMS\Toolbar\ToolbarHelper · class alias · J prefix