I have written this note in response to several users postings/questions/problems/issues with SEF URL's and breadcrumb/pathway (and to some extent the Web Browser Title bar) not being constructed as those users were originally expecting or anticipating.
Construction of the Web Browser Title bar by the SOBI2 Component is a related topic, Refer
How the browser title is generated (when the SOBI2 Component is generating output)It is a difficult for me to clearly explain SEF URL's and breadcrumb/pathway construction, because it is complicated and depends on Joomla!/SOBI2/SEF configurations.
I hope the following explanation may provide Joomla!/SOBI2/SobiSEF users with some understanding of the issues.
(1) Joomla! native SEF URL's and breadcrumb/pathway construction (no SEF Components/plugins)
When
Joomla! native SEO is enabled, the format of the URL for any given Joomla! Menu Item is normally constructed by Joomla! using the Menu Item Title Alias, and the breadcrumb/pathway is normally constructed by Joomla! using the Menu Item Title.
For example,
a Joomla! Menu Item with;
Menu Title = 'Menu Item Title', and
Menu Title Alias = 'menu-item-title-alias'
results in the URL;
http://mysite.com/menu-item-title-aliasand in the breadcrumb/pathway;
Home > Menu Item Title
where;
'Home' is constructed from the Menu Item Title of the default Joomla! Menu Item.
(2) Important -
Understanding the default Joomla! Menu Item(a) When Joomla! is initially installed, the Menu Item = Home with Type = Articles >> Frontpage in the Menu = Main Menu, is configured as the default Joomla! Menu Item.
Refer
http://docs.joomla.org/Screen.menus.15#Screenshot(b) The default Joomla! Menu Item defines the 'home page' for the web site (the default Joomla! Menu Item determines what content Joomla! displays for the URL configured for the Joomla! Configuration Parameter $live_site.
$live_site is normally configured as the Web Site root URL (ie: http://
MyWebSite.com)
Refer Joomla Administrator->Help->System Info->Configuration File->$live_site
(c) The default Joomla! Menu Item is configured using;
Joomla Administrator->Menus
The Menu containing the default Joomla! Menu Item will be shown with an asterisk after the Menu Name.
When the Joomla! Menu Item Manager displays the Menu Items of the Menu containing the default Joomla! Menu Item, the default Menu Item will show a 'star' in the column titled 'default'.
(d) The default Joomla! Menu Item cannot be unpublished or deleted, but it can be reconfigured to another Menu Item, or another Menu Item in another Menu.
(e) Joomla! requires that one, and only one, Menu Item must always be configured as the default Joomla! Menu Item.
Refer
http://docs.joomla.org/Screen.menus.15#Toolbar - Default.
(3) Joomla! native SEF URL's and SEF Components/plugins
When
Joomla! native SEO is enabled and/or other SEF components/plugins are enabled, the format of the breadcrumb/pathway normally follows that of the URL (or vice-versa).
For example, for the URL
http://mysite.com/menu-item-title-alias/optionA/optionBthe breadcrumb/pathway is normally displayed as;
Home > Menu Item Title > optionA > optionB
where,
'Home' is constructed from the Menu Title of the default Joomla! Menu Item Title,
(4) Menu Items and SOBI2 (Joomla! native SEF, no SEF Components/plugins)
When a Menu Item is linked to the SOBI2 Component using the SOBI2
Extended Menu Items,
URL's are of the form;
http://mysite.com/menu-item-title-alias/?option(s)
where;
menu-item-title-alias is constructed from the Menu Item Title of the Menu Item linked to the SOBI2 Component, and,
option(s) =
the SOBI2 Task Name, and/or,
the SOBI2 Category Id's, and/or,
the SOBI2 Entry Id's
for example;
http://mysite.com/menu-item-title-alias/?sobi2Task=sobi2Details&catid=2&sobi2Id=54and the breadcrumb/pathway is of the form;
Home > Menu Item Title > optionX > optionY
where,
'Home' is constructed from the Menu Title of the default Joomla! Menu Item Title,
and,
optionX =
the SOBI2 Task Name, or,
the SOBI2 Category Name(s), and/or,
the SOBI2 Entry Title
optionY (if present) =
the SOBI2 Category Name(s), and/or,
the SOBI2 Entry Title
(5) A Joomla! Menu Item linked to a SOBI2 Category
When you have a Joomla! Menu Item linked to a SOBI2 Category or Sub-Category using the SOBI2
Extended Menu Items -
Category Links,
then assuming the Joomla! Menu Item Title is 'SOBI2 Category Name'
then the Joomla! Menu Item Title Alias is normally 'sobi2-category-name'
and the format of the URL is;
http://mysite.com/sobi2-category-name/and the format of the breadcrumb/pathway is;
Home > SOBI2 Category Name
But, it is possible to configure the Joomla! Menu Item Title to something other than the SOBI2 Category Name for a SOBI2
Category Link.
Let us assume you configure the Joomla! Menu Item Title to 'My Name',
then the Joomla! Menu Item Title Alias is automatically configured by the SOBI2 Extended Menu Items to be 'my-name',
and the format of the URL is;
http://mysite.com/my-name/and the format of the breadcrumb/pathway is;
Home > My Name
(6) Multiple Joomla! Menu Items linked to the SOBI2 Component
It is also possible to have more than one Joomla! Menu Item linked to the SOBI2 Component using SOBI2 Extended Menu Items.
Assume the SOBI2 'root Category' has two sub-Categories;
Level1aCategory, and
Level1bCategory
and you configure;
(a) a Joomla! Menu Item linked using SOBI2 Extended Menu Items to the SOBI2 FrontPage and configure the Joomla Menu Item Title = 'Directory' for this link,
and
(b) a Joomla! Menu Item linked using SOBI2 Extended Menu Items to the SOBI2 Level1aCategory and configure the Joomla Menu Item Title = 'First Category' for this link,
then the resulting URL's are of the form;
http://mysite.com/Directory/ http://mysite.com/First Category/
http://mysite.com/Directory/Level1bCategory/and the breadcrumb/pathway are of the form;
Home > Directory
Home > First Category
Home > Directory > Level1bCategory
(7) The SOBI2 Frontpage is the Joomla! Frontpage
The situation becomes further complicated when you configure the SOBI2 Frontpage to be the Joomla! Frontpage. This is when you have configured the Joomla! Menu Item linked to the SOBI2 Frontpage (index.php?option=com_sobi2) as the default Joomla! Menu Item. (Refer above - Understanding the default Joomla! Menu Item)
In this case, the default Joomla! Menu Item (there is always one, and can only be one) will always be assigned the site root URL ($live_site) (for example;
http://mysite.com), refer
http://docs.joomla.org/Screen.menus.15#Toolbar.
Let us assume you configure default Joomla! Menu Item with the Menu Item Title = Home,
then the resulting URL's are of the form;
http://mysite.com/ http://mysite.com/First Category/
http://mysite.com/Level1bCategory/and the breadcrumb/pathway are of the form;
Home
Home > First Category
Home > Level1bCategory
(8) The situation can become even more complicated when
(a) you make the SOBI2 Frontpage the same as the Joomla! Frontpage,
AND
(b) you configure another Joomla! Menu Item linked to the SOBI2 Frontpage (index.php?option=com_sobi2) and, let us assume, you assign this Joomla! Menu Item a different Title = 'Directory'.
Then depending which Joomla! Menu Item you 'click' on;
the URL's can be of the form;
(c) If you follow the Joomla! Menu Item with Title = 'Directory' link
then URL's are of the form;
http://mysite.com/Directory http://mysite.com/First Category/
http://mysite.com/Directory/Level1bCategory/and the breadcrumb/pathway is of the form;
Home > Directory
Home > First Category
Home > Directory > Level1bCategory
(d) but, if you follow the Joomla! Menu Item with Title = 'Home' link
then URL's are of the form;
http://mysite.com/ http://mysite.com/First Category/
http://mysite.com/Directory/Level1bCategory/and the breadcrumb/pathway is of the form;
Home
Home > First Category
Home > Level1bCategory
once again, this may be further complicated by the use of SEF Components/plugins.
(9) Apparent Duplicate Categories in Joomla! Breadcrumb Module
This problem is not a Joomla! or SOBI2 bug. It is an effect of Joomla! behavior by design.
The problem is causing confusion with SOBI2 Users because Joomla! Breadcrumb is not being constructed as SOBI2 Users expect.
If after reading the following you are still having a problem, then there is a 'hack' available for mod_breadcrumbs that removes apparent duplicates.
See
SOLVED Duplicate BreadcrumbsTrinity has also produced a
template override for mod_breadcrumbs that does not involved 'hacking' the Joomla! core code
See
mod_breadcrumbs template override - remove duplicate breadcrumb segmentPre-conditionsAll Joomla! Menu Item links to SOBI2 Component are configured using SOBI2 Extended Menu Items.
SobiSEF working correctly and as designed.
When a
Joomla! Menu Item Link is made using
SOBI2 Extended Menu Items,
which
links a Joomla! Menu Item to a SOBI2 Category,
and that SOBI2 Category is not the SOBI2 Frontpage (or Root Category, index.php?option=com_sobi2),
and the Menu Item linked to the SOBI2 Category is a child of the Menu Item linked to the SOBI2 Frontpage,
and a SOBI2 Entry is assigned to that (non-Root) SOBI2 Category,
then the Breadcrumb constructed when the details view for that SOBI2 Entry is displayed can be of the form;
Home -> SOBI2 Frontpage -> SOBI2 Category link Menu-Item-Title -> SOBI2 Category Name ->SOBI2 Entry Title
Example 1 - A practical example illustrating SOBI2 Users problem.
Joomla! Default Menu Item Title = Home (not a link to SOBI2 Component)
[Refer above -
(2) Important -
Understanding the default Joomla! Menu Item]
and
Joomla! Menu Item Title of link to SOBI2 Frontpage (Root Category or index.php?option=com_sobi2) = 'Drinks'
and
Joomla! Menu Item Title of
link to SOBI2 Category (with Category Name = 'Coffee') = 'Coffee'
and
Menu Item 'Drinks' is parent of Menu Item 'Coffee'
and
SOBI2 Entry with Title = 'Expresso' is assigned to SOBI2 Category 'Coffee'
Joomla Menu ItemsDrinks
|
|_ Coffee
SOBI2 CategoriesDrinks (Root Category = SOBI2 Frontpage)
|
|_ Coffee
SOBI2 EntriesSOBI2 Entry with Title = 'Expresso' is assigned to SOBI2 Category 'Coffee'
Then when the Details View of SOBI2 Entry with Title = 'Expresso' is displayed,
the Breadcrumb is constructed as follows;
Home -> Drinks -> Coffee -> Coffee -> Expresso
But SOBI2 Users are expecting a Breadcrumb to be constructed as follows;
Home -> Drinks -> Coffee -> Expresso
Example 2 - A generic example which may help SOBI2 Users understand the problem
Joomla! Default Menu Item Title = Home (not a link to SOBI2 Component)
Joomla! Menu Item Title of link to SOBI2 Frontpage (Root Category or index.php?option=com_sobi2) = 'SOBI2 Frontpage'
Joomla! Menu Item Title of
link to SOBI2 Category (with SOBI2 Category Name = 'Category 1') = 'Category1 Menu Item Title'
and the parent Menu Item of the Joomla! Menu Item linked to the SOBI2 Category is Joomla! Menu Item with Title = 'SOBI2 Frontpage'
and SOBI2 Entry with Title = 'SOBI2 Entry Title 1' is assigned to SOBI2 'Category 1'
Joomla Menu ItemsSOBI2 Frontpage
|
|_ Category1 Menu Item Title
SOBI2 CategoriesRoot Category (SOBI2 Frontpage)
|
|_ Category 1
SOBI2 Entries'SOBI2 Entry Title 1' is assigned to SOBI2 'Category 1'
then the Breadcrumb constructed when the details view of SOBI2 Entry with Title = 'SOBI2 Entry Title 1' is displayed is;
Home -> SOBI2 Frontpage -> Category1 Menu Item Title -> Category 1 -> SOBI2 Entry Title 1
SOBI2 Users are expecting the Breadcrumb to be constructed as follows;
Home -> SOBI2 Frontpage -> Category1 Menu Item -> SOBI2 Entry Title 1
or
Home -> SOBI2 Frontpage -> Category 1 -> SOBI2 Entry Title 1
Note: If you are using the SobiSEF plugin, I also urge you to read
SobiSEF Plugin Configuration Essentials.
I hope this helps - Mark