This was working ok on my instance Joomla 3.9.22 with PHP 7.3.5 (and mysql). Then to test this I selected PHP 7.0.33 instead and it gave me an error:
Fatal error: Declaration of MyObserver::createObserver($table, $params = Array) must be compatible with JObserverInterface::createObserver(JObservableInterface $observableObject, $params = Array) in C:\wamp64\...
Most critical to fixing your issue is to include the p.ComponentId column in your select() call so that it is available at the time the result set is being constructed.
If you have your error reporting turned on/up, then I expect that you would have seen several of these:
Notice: Undefined index: p.ComponentId in ...
I have a few additional pointers to ...
It's a good practice to always have up-to-date backups of your projects/sites. This way, you can always revert back to a previous working state.
If an extension has broken your site, then remove that extension.
You can do it manually by navigating to the directories of your Joomla site, where each extension places its files.
For example in the case of Akeeba,...
In the end I managed to solve the issue by simply re-creating the page locally (using MAMP), generating an Akeeba backup, and restoring the backup via Kickstart. I really have no idea why this happened in the first place.
$lang = Factory::getLanguage();
* This method processes a string and replaces all accented UTF-8 characters by unaccented
* ASCII-7 "equivalents".
Or check the method code to be more granular:
public function transliterate($...
So to get it from global configuration set in configuration.php from anywhere within Joomla component, plugins, modules and templates you would use:
$config = JFactory::getConfig();
$siteName = $config->get('sitename', 'No Site Name Specified');
$siteName = JFactory::getConfig()->get('sitename', 'No Site Name Specified');
You can also use name ...
Joomla needs to have an indication of the menuitem (ie itemid) to know how to display all the stuff around the item being shown - templates, modules etc. It tries to determine the most appropriate menuitem to use based on certain things like what menuitem you're currently on, language etc. It looks as if Joomla is using the itemid of your home page.
In fact, Setting 2 would only make sense to me if you..
...Have no inheritance of permissions to the top
...Only one usergroup has access to a specific task
Then it makes sense, if the superuser should simply have all tasks / views / options of the custom 1/2 groups this can be solved by inheritance in a cleaner way.
Edit: indeed superuser has no inherited ...
In Joomla when you call a controller's save() method (usually it is a FormController if it has a save() method) the controller's save() method calls the corresponding Model right away and the validate() and save() methods of that Model. Thus when you want to save something using a component's save() method it is better and more straightforward to call the ...
So there could be an issue with the new hosting if it’s alao a custom solution in that it doesn’t have a tool called composer installed.
What I’d recommend:
Try reinstalling Joomla (or updating it if it’s not running the latest version, currently 3.9.19) by going to Components > Update Joomla. That will update the dependency files.
if that doesn’t resolve ...