There is no Phoca Gallery image module in Joomla 4 yet. But that doesn't mean that you can't display Phoca Gallery images in Joomla modules.
To display images in the module, Phoca Gallery Content plugin will help us:
1) Install Phoca Gallery component.
2) Install Phoca Gallery Content plugin and publish it.
3) Then go to the Joomla administration and create a new module of type Custom (System - Site Modules - New - Custom).
4) Make sure Prepare Content parameter is enabled in the module. Fill in the module position and paste the Phoca Gallery Content plugin code here.
5) Save and publish. Now the images from Phoca Gallery will be displayed in the module.
Joomla is a very variable system and in addition to the ability to install and use templates also offers the use of child templates.
In short: Child templates are descendants of standard templates and allow you to customize your own site design without having to modify the main template and not lose the changes when updating the template. You can only choose certain template files to modify. The other files will remain untouched and will be loaded from the parent template. You can read more about child templates in the following article: Sweet child o' mine... A deep dive into Joomla Child Templates
So how to install Child template?
This process consists of two steps:
- Create child template in administration
- Install package with custom files.
Create child template in administration
Child template is actually composed with custom files and before we install such files in our own site, we need to define which template will be the parent template. From which template we will actually make a child.
In our case we will install the child template "Phoca Cart" for the parent Joomla default Cassiopeia template:
- Go to Joomla administration - System - Site Templates - click on Cassiopeia Details and Files link to edit it
- A popup window will appear where you set the name in the form field Child Template Name to phocacart and then click the Create Child Template button
- Now the child template has been created and you can upload the installation package.
Install package with custom files
As we wrote above, in our case we will install the child template "Phoca Cart" for the parent Joomla default template Cassiopeia.
Go to Phoca Cart extensions website (templates) and download Phoca Cart Child Template.
Install this child template in your Joomla administration:
Go to Joomla administration - System - Install - Extensions and upload the installation package.
The installation package includes custom files which will be copied to these folders:
- templates/cassiopeia_phocacart
- media/templates/site/cassiopeia_phocacart
How to uninstall child templates
Go to Joomla administration - System - Manage - Extensions and search for "cassiopeia_phocacart"
If you uinstall "cassiopeia_phocacart" type Template, then child template including its all files will be removed.
If you uinstall "cassiopeia_phocacart" type File only, then only custom files in templates folder will be removed (not custom files in media folder).
In conclusion, let's recap. Child templates consist mostly of custom modified files and therefore their installation consists of two steps. The child template is defined and created and then the custom files are uploaded to your site using the installation package.
See Cassiopeia Phoca Cart child template demo website.
Joomla CMS creates SEO-friendly URLs with help of menu links. This simple lesson should be kept in mind at all times when creating a Joomla website.
If we want to have uniform URLs, we need to know which menu links to create and which not to create. The basic rules are:
1) Don't create multiple menu link items in one tree line
2) Create menu links at the highest tree level
We will explain everything on the Phoca Cart component, where it is possible to create multiple views, even in a single tree.
Don't create multiple menu link items in one tree line
The following tree of views can be found in Phoca Cart:
Categories View - Category View - Product View
In words: We will create a menu item on Categories view where user can see all categories, using links in frontend he/she can navigate to a specific category and again using links he/she can navigate to a particular product. So he/she navigates from Categories view to Category view and then to Product View and back.
If we create one menu link to Categories view, everything is fine. Joomla creates one SEO-friendly URL format and uses that at all levels. But the problem occurs if we create both a menu link to Categories view and to Category view for example. Then a different URL format is created for each level and the SEO-friendly URLs are inconsistent.
Example:
- menu link to Categories view with "shop-categories" alias created
- menu link to Category view with "shop-category" alias created
In such case the URL format changes when user navigates from Categories view to Category View:
www-your-site-com/shop-categories (Categories view) -> www-your-site-com/shop-category (Category view) -> www-your-site-com/shop-category/productname (Product view)
If only one menu link to Categories view will be created (e.g. with alias "shop"), then you get following format:
www-your-site-com/shop (Categories view) -> www-your-site-com/shop/categoryname (Category view) -> www-your-site-com/shop/categoryname/productname (Product view)
This means that the SEO-friendly URL format remains stable and unique.
Therefore, if possible, always create only one menu link for items in one tree.
But what to do if you have, for example, a menu link to Categories view and you need to make a menu link to a specific category as well?
In this case, don't create a new menu item, but navigate from Categories view to Category view in the frontend and copy the automatically created SEO-friendly URL. Then, in the menu link, create a menu link of type: System Links - URL and paste this static "absolute" URL there.
Create menu links at the highest tree level
If at all possible, always create a menu link at the highest level - usually a list of categories. This is very important, because then all links within that extension will create unique SEO-friendly URL format. If you don't create a top-level menu link, other links that are looking for their parent menu items will not be able to find such items and will not create right SEO-Friendly URL.
What about other menu links that are not in the tree?
In Phoca Cart, these can be, for example, links to Checkout view or User Account view and so on. These links do not belong in the main link tree (Categories view - Category view - Product view). Therefore it is not a problem to create your own menu items for these links. Here there is no need to create the URL uniformity that is required for the main link tree.
If your server is upgraded, e.g. PHP to version 8.1, it is also needed to update Joomla and Phoca extensions.
Phoca Gallery example
If your server is updated to PHP 8.1, it is even needed to update Joomla to version 4 and Phoca Gallery to version 4.5. Latest Joomla 3 Phoca Gallery version (4.4.3) which was released before PHP 8.1, is not compatible with this version.
There are possible ways:
- use obsolete extensions, but then don't update PHP
- update PHP, but then Joomla and Phoca extensions need to be updated to latest versions too
- possibly overwrite those parts in the old extensions that are not compatible with the new PHP 8 version.
We probably all understand that this is not ideal, but both Joomla and PHP are evolving rapidly and therefore Phoca extensions have to keep up with them. And support for the latest technology and the latest CMS version comes in the latest Phoca extensions.
In Joomla! CMS we can in some cases choose whether to use IDs (numbers) in URLs or not.
Why is it better to use IDs? Because it's better for SEO.
Speed
When a server processes a request, it is always faster to use the integer type than the string type. ID is integer type, so the request will be processed faster. And this means better SEO.
Preserving the correctness of the link
Example: Just imagine, you have created an article but with mistake in alias, so your article link looks like this:
https://www.your_website.com/5-artisle ("artisle" should be "article")
Such a link was indexed in the search engine and you have corrected it. But because of using numbers in your link, it is not a problem, this article is accessible thanks to number 5.
You can even change it to:
https://www.your_website.com/5-my-article
And still no problem here, the article is accessible thanks to number 5. So even if your site is indexed with the wrong URL for some time, it is accessible at all times.
This is not possible for variants without ID (without number). Such a link without ID will just return 404.