User tests: Successful: Unsuccessful:
Joomla\CMS\Language\Multilanguage::getSiteHomePages() uses an extra database query per each page load to discover the language-specific site homepages.
We can easily eliminate this extra database query and use the native SiteMenu::getItems().
Test a website with enabled multilanguage functionality and Joomla system caching enabled.
See an extra unoptimized SQL query per each page load:
SELECT `language`,`id` FROM `jos_menu` WHERE `home` = '1' AND `published` = 1 AND `client_id` = 0
No extra SQL query, the homepages are discovered from the cached menu items.
Please select:
Documentation link for docs.joomla.org:
No documentation changes for docs.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
| Category | ⇒ | Libraries |
| Status | New | ⇒ | Pending |
| Labels |
Added:
PR-4.3-dev
|
||
| Category | Libraries | ⇒ | Unit Tests Repository Administration com_admin SQL |
| Category | Unit Tests Repository Administration com_admin SQL | ⇒ | Libraries |
| Title |
|
||||||
| Title |
|
||||||
I have tested this item ✅ successfully on 9ea35c7
Extra query has gone.
I have tested this item ✅ successfully on 9ea35c7
| Status | Pending | ⇒ | Ready to Commit |
RTC
This pull request has been automatically rebased to 5.2-dev.
| Title |
|
||||||
| Labels |
Added:
Feature
RTC
b/c break
PR-5.2-dev
Removed: PR-4.3-dev |
||
This was discussed at the maintainers meeting today. Please don't remove the parameter but make a depeciated message for the parameter so that we can remove it in one of the next versions. Beside this the change is approved. Thanks.
| Status | Ready to Commit | ⇒ | Pending |
| Labels |
Added:
Updates Requested
Removed: RTC |
||
@rdeutz Done. Note that I can't add @deprecated attribute because it deprecates the whole method.
| Labels |
Removed:
Updates Requested
|
||
This pull request has been automatically rebased to 5.3-dev.
| Title |
|
||||||
Tests are still valid the last change was only a doc block change
| Labels |
Added:
PR-5.3-dev
Removed: b/c break PR-5.2-dev |
||
This pull request has been automatically rebased to 6.0-dev.
| Title |
|
||||||
I have tested this item ✅ successfully on b22dc09
| Status | Pending | ⇒ | Ready to Commit |
I set it RTC, it seems was removed by accident and lost in time.
| Labels |
Added:
RTC
PR-6.0-dev
Performance
Removed: PR-5.3-dev |
||
Is this still relevant as the code for multilingual home pages has changed since this PR was first created
Yes, method getSiteHomePages still there, and still in use.
This pull request has been automatically rebased to 6.1-dev.
| Title |
|
||||||
| Labels |
Added:
PR-6.1-dev
Removed: PR-6.0-dev |
||
| Status | Ready to Commit | ⇒ | Fixed in Code Base |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2026-03-02 15:44:00 |
| Closed_By | ⇒ | HLeithner |
Thanks, I skipped the deprecation for now, since it's not so important and we need to remove the usages first.
Actually @joomdonation found this issue.
As I wrote in your PR we will revert this and only keep the new code in the menu and deprecate the getSiteHomePages() and remove it in joomla 8.0. and rewrite all usages to the $menu->getHomepages() method.
Can you do this?
This pull request has been automatically rebased to 5.1-dev.