- Promoted Entries
- When I submit a search keyword in the module, SobiPro returns "No results", why?
- Uninitialized map detected. Multiple instances?
- entry-container or spEntryContainer classes not found in SobiPro response
- When I submit a search keyword in the module, SobiPro returns "Error 403 Unauthorized Access Task: search.search"?
- The module show the Chained Categories Control, but it shows all of them with no chaining, why?
- I am trying to get the Search module working and it is displaying "No category search field.", why?
- Faceted Search Modules is showing this error: ".entry-container not found in SobiPro response"
- I have defined a Menu item in the module configuration, but search results are still shown in the main Sobipro content, why?
- Installation - Upgrade
- Deprecated notices in the extension output
- XTDir is not showing all categories or entries
- The module is still not showing all categories
- The module is showing empty categories
- My backup reports this error: Illegal mix of collations (utf8mb4generalci,IMPLICIT) and (utf8mb4unicodeci,IMPLICIT) for operation '=' SQL=CREATE VIEW...
- When I try to index entries, I get "xtdirfinalcategorypromoted_view doesn't exist", why?
- In Control Panel, this message is shown "No HTTP response received", why?
- My system shows a Blank White Page. What should I do?
- Logging Mode: Developer's swiss army knife
- My page does not show the latest information, why?
- Error: 500 Internal Server Error
# Promoted Entries
# Entries with No Promotion are shown in the Entries Explorer
About No Promotion state applied on entries, you have not defined a default Promotion or you have an issue updating XTDir's Index.
# Entries are shown ordered by name, why?
- Firstly, please, check this slide (opens new window) to configure the section, Global Configuration / Template / Entry Settings / Order by = Position ascending. In this way, Position defined by Promotions are going to be applied.
- In SobiPro, the main section is a special navigational case, that is not ruled by the previous definition. This case requires to redefine the default entry ordering at general or template level.
- General entries ordering In file components/com_sobipro/etc/config.ini, in [list] area, add this line:
- Template entries ordering In file components/com_sobipro/usr/templates/YOUR-TEMPLATE/config.ini, in [list] area, add these lines:
Other entries_ordering parameter definition may also affect entries order. For instance, category/view.ini may also have a parameter definition.
# When I submit a search keyword in the module, SobiPro returns "No results", why?
The module submits a search query in the same way than the original SobiPro search form.
By default, all XTDir search modules produce the same search results than SobiPro. If you are looking to return all entries on an empty keyword search, click here (opens new window).
To test how it works:
- Please, test a search case in SobiPro. For instance, search for * and a specific category to retrieve all matching entries in that category. For this test, SobiPro search item must be published in a Joomla! menu, with public access (verify SobiPro Access Control List / Rules, search.search).
- Test the same search case in the module.
# Uninitialized map detected. Multiple instances?
The module is detecting that Google Maps has been initialized before. Google Maps can only be initialized once in a page.
For exampe, XTDir PromoGeoMap module should not be deplayed in "Add Entry" page, where a geomap field already is initialized to define the location.
# entry-container or spEntryContainer classes not found in SobiPro response
By default, SobiPro templates has spEntryContainer class for Bootstrap 2 styling or entry-container class for BS3 styling in the entries area. If you have customized your template, please restore the class to integrate the faceted search module.
The module loads search results directly from SobiPro, then the active template renders the results in the same way than the regular site natigation.
For example, SobiPro in default3 template has this source code, file components/com_sobipro/usr/templates/default3/common/entries.xsl, line 37:
Your template must have a similar spEntryContainer class declaration.
# When I submit a search keyword in the module, SobiPro returns "Error 403 Unauthorized Access Task: search.search"?
Even though, you submit your search query through XTDir search modules, SobiPro search feature must be enabled to users. If not, SobiPro shows the Unauthorized Access error.
Please, check SobiPro's Menu / Access Control List / Rules / Visitor / Section / use search function.
# The module show the Chained Categories Control, but it shows all of them with no chaining, why?
# I am trying to get the Search module working and it is displaying "No category search field.", why?
SobiPro v1.1 has introduced Category search, with a new field of type Category. If you have migrated from SobiPro v1.0 (or if you have manually removed the Category field), and the search module cannot find a Category field in the section configuration, then it is not possible to search filtering by category.
Please, add a new field of Category type into your section configuration, and enable it for search (Search Field Settings tab/Searchable=Yes).
# Faceted Search Modules is showing this error: ".entry-container not found in SobiPro response"
XTDir Faceted Search module works sending search queries to SobiPro, and showing the output in the module context. It expects a search result having an .entry-container class to signal the content. This is the SobiPro regular structure.
However, if the customization process has removed the original SobiPro classes, the module cannot process the output. Please, restore the entry-container class to signal the search results.
Please, check the default SobiPro template:
File location: components/com_sobipro/usr/templates/default2/common/entries.xsl
# I have defined a Menu item in the module configuration, but search results are still shown in the main Sobipro content, why?
SobiPro requires to define the parameters to be passed from the search query to the search results page. Please, add the Itemid into section config.ini:
components/com_sobipro/etc/config.ini, line 88
# Installation - Upgrade
# Tried upload and got this error message: Parse error: syntax error, unexpected T_FUNCTION
You are running an outdated version of PHP (not stable), which is not supported by the extension. Most hosting providers already offer to upgrade to PHP 7.4, PHP 8 or superior.
Please upgrade to PHP 7.4, PHP 8 or superior as soon as possible (previous PHP versions are not longer considered stable. They don't have Bug fixes, Patchs, or Security issues fixes).
# Live Update does not work, Update path does not exist
Joomla! shows this error message when you try to update to the extension latest version.
Joomla! cannot successfully download and install the file.
Have you assigned the Download ID? It is required to authorize downloads.
- Please, click here (opens new window) to access your Download ID.
- Copy and paste Download ID into component Options/Live update/Download ID field
- Save and update again the extension from Control Panel or "Extension Manager: Update"
If the problem persists, we have found a minor incompatibility in the latest Joomla! installer plugin, please manually download (opens new window) the extension and install it to update the installer plugin and the rest of the associated files. Next time, it will be updated with no errors.
# After updating to a new version my web page doesn't work ...
XTDir solution has a component, modules, plugins, SobiPro Apps, and SobiPro fields. XTDir component, modules, and plugins are updated by Joomla! Extensions installer. But, XTDir-SobiPro Apps and XTDir-SobiPro fields, which are manually installed from XTDir, must be manually updated from XTDir following the same procedure.
After a XTDir update, please, verify in SobiPro App Manager if XTDir-SobiPro Apps and XTDir-SobiPro fields are updated at the same version. If not, visit each associated XTDir configuration area and click the Update button for the app or field.
# I got this error when I want update my index .. _xtdir_tmp_object_relations doesn't exist
XTDir creates a temporary table to process SobiPro entries and updates the new general index. This error is found when the indexation is not completed in time AND you have enabled the PageLoad mode.
The PageLoad mode is a simple way to automate the indexation. However, in a medium-big catalog, it can easily overload your server.
To optimize the catalog automation, please enable the Cron Job mode
Alternatively, if the problem persists and the index is not generated or updated at all, please, check this general MySQL issues:
- MySQL user must have permissions to create this table
- If you have enabled in_memory parameter (Configuration/Core Index of SobiPro Entries ), TEMPORARY tables must be allowed in the database
# Deprecated notices in the extension output
- Warning: "continue" targeting switch is equivalent to "break"
- Deprecated: Function create_function() is deprecated in ...
The extension output gives you warnings about certain elements being deprecated. In simpler terms, it's like a heads-up that certain parts of the code won't be supported in future versions of PHP, notably PHP 8. The messages are not errors; they're just for developers to pay attention to. The team is already on it, working on the next version of the extension that will seamlessly work with PHP 8 and won't support the older PHP versions.
For now, you can ignore these messages. If they bother you, you can turn off the maximum error reporting on your site. These messages only appear when your site is in development mode or maximum error reporting is enabled.
On live sites, it's suggested to set the "Error Reporting" to "None" to keep things clean and tidy. This won't affect the extensions you have installed; it just ensures your users won't see any of these notices and keeps your internal information hidden.
# XTDir is not showing all categories or entries
XTDir works on indexed categories and entries. By default, it is restricted to 1000. Please, try to increase and update it in Configuration/Core Index/Index Limit.
Once the limit is adjusted, you can automate the indexation operation.
# The module is still not showing all categories
The module shows indexed categories according to parameter definitions. For instance, if the module is not showing all of them, you can increase the Count (by default, 99) or show all categories even empty categories **.
Finally, if categories are still missing, the deafult index limit could have been reached.
# The module is showing empty categories
- The module shows unpublished categories or entries
Even though you have enabled Hide Empty Categories, the module still shows empty categories. To confirm, please, enable Show Counter⁼Entries to verify the entries counter.
If there is a mismatch between the number of entries and counter, then XTDir general index may be outdated. Please, manually click on XTDir Control Panel/ Index button. Additionally, you can automate the indexation operation (opens new window).
# My backup reports this error: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '=' SQL=CREATE VIEW...
There is an inconsistency in the declaration of XTDir views in your database.
Please, update to the latest XTDir version and recreate the views.
- XTDir for SobiPro / Configuration / Core Index of SobiPro Entries / Recreate Views, or
- XTDir for SobiPro / Promoted Entries / Configuration / Recreate Views
# When I try to index entries, I get "xtdir_final_categorypromoted_view doesn't exist", why?
Views are created by XTDir for SobiPro when it is initially installed. If you have migrated from server, they might not be copied. If views are not created in your database, you can recreate them with any of the following methods:
- In the latest XTDir for SobiPro 5.6, you can click on XTDir for SobiPro: Promoted Entries Configuration / Recreate Views button to recreate views
- In phpMyAdmin, you can execute views.sql script to manually recreate them (File: administrator/components/com_xtdir/sql/install/mysql/views.sql)
- Uninstall and install again XTDir for SobiPro, installer recreates all views. If the problem persists, a database configuration problem may be present. CON: This method also resets all previous configuration.
Joomla! 3 runs on jQuery. However legacy extensions may load MooTools and other libraries (for example Dojo), or load multiple jQuery versions - jQuery must be loaded only once -. Check and isolate scripts to simplify page loading.
- Script Debugging, with Firebug (opens new window)
- Using the Console - Google Chrome (opens new window)
- Firefox - Browser Console (opens new window)
# In Control Panel, this message is shown "No HTTP response received", why?
When you visit the Control Panel, there is a version check to our site, for example https://dpd7q0cxjbvq3.cloudfront.net/update-xtdir-for-sobipro. If you are getting a connection error, it may not be possible to stablish it from your site (caused by a security restriction or a temporary network issue).
Please, check with your hosting provider, or just disable the check (component Options/Live Update/Version Check=Off)
# My system shows a Blank White Page. What should I do?
A blank white page is an error page!
Due to PHP errors, XTDir (or any other Joomla! extensions) can stop working without displaying an error, just a Blank Page. The absence of any evidence is caused by disabled PHP Error Reporting. This is a common security measure in production sites.
Again, a white page is just an error page where the error message has been suppressed by your configuration. Once you solve the error, the site is going to be back to the normal state.
In these cases you have to enable PHP Error Reporting to find out what the error behind the white page is:
- Check your server error logs (not the access logs): even when PHP Errors are disabled, they may be saved in an error log file.
- Joomla! Configuration - Error Reporting: go to Joomla! Administration / Global configuration / Server, and enable "Error Reporting" to Maximum.
- If your site still shows a Blank Page, your hosting provider may have restricted this setting too.
- Additionally, if you can't access the back-end website, check the next cases.
- Hosting Configuration: visit CPanel, or your hosting control panel, and try to enable PHP Error Reporting in this area.
- Alternatively, you can ask to your Hosting Support, how to enable it.
- PHP Configuration: enable display_errors to "on" in php.ini
# A solution for 80% of Blank White Pages
You have installed an extension (package). Joomla! is trying to load several new system plugins, a dependency is not fulfilled or there is a PHP Error on your site.
- If the front end website is down. Joomla! backend may work (it does not load the same plugins). Please, try to access the backend to disable the latest installed "system" plugins.
- If the Joomla! backend is also down, access your Database and manually disable the latest installed plugins.
For example, to review the latest installed plugins from phpMyAdmin/MySQL:
To disable a plugin, change the enabled column to 0.
# What can I do to get my system back, if the white page persists?
There is an alternative way to avoid a system plugin load, but it requires to access directly to website files and remove some of them. Please, proceed with the following steps:
- Access your site directory, for example via FTP
- Rename the latest installed system plugins folders in "[Joomla!_root]/plugins/system/"
# Next time
We develop and test our extensions to minimize conflicts and installation problems. However, we can't preview all environments and extensions combinations. It is also common to find very restrictive or very resource-limited hosting platforms. To avoid this problem, we recommend:
- Always, test new software in a development site.
- Always, create and check to have a recent backup at hand (test how to quickly restore it). Akeeba backup (opens new window) is a great component, and very easy to use.
- Always, if you are going to install it in your live/production site, install it at a convenient time (Eg weekend). You can also announce a downtime window to upgrade your site, and be ready for a rollback.
# Logging Mode: Developer's swiss army knife
The Logging Mode is a key tool to check the extension inner workings. It is a handy way to check component internals, beyond a simple error message.
You can enable several logging modes to leave a track of server-side operations. To enable the logging mode:
- Access the Options menu, in Components/(Extension Name) Control Panel.
- In the System Settings folder,
- Enable the: Logging level (For example, 3-All)
- And, select the Logging mode (For example, To logfile only or To logfile and screen)
As a result, xt-logging.log file is generated with all operations details into logs/ directory. Please, check the file generated in
Alternatively, xt-logging.log can be downloaded from Control Panel.
# My page does not show the latest information, why?
If you have enabled "System - Cache" plugin, then disable it. By default, it is not recommended.
System - Cache plugin enables Page Caching (opens new window) at client browser level. Thus, information is not updated in browser until the Page expires and it is loaded again. This technique is only recommended for static pages.
# Error: 500 Internal Server Error
This is a general PHP or Apache error. There is problem deep in the hosting platform. Please, ask to your hosting support to find out the source of the problem.
In SiteGround (opens new window) hosting, they have carefully investigated the case and managed to recreate the error. They have resolved the issue by changing the PHP version to 5.4 by adding the following line to .htaccess file: AddHandler application/x-httpd-php54 .php .php5 .php4 .php3
In addition, mod_security, or other similar security restrictions, may block Ajax requests with this error. Check with your hosting provider, explaining the exact steps that cause the error, or you can temporarily disable mod_security to verify if it solves the issue. You can just add the following to .htaccess: