248 Posts
Giuse
5 years ago
0
Topic

Actually, when creating a link in a Joomla article to another Joomla article on the same site (SEF enabled, current router - not the experimental one), we write a link in the form:

index.php?option=com_content&view=article&id=<artId>&catid=<catId>&Itemid=<menuId>

(where the last piece with menuId can be avoided if there is a menu associated to the category). When rendering the page, the Joomla router will translate that link in a nice SEF URL like

/<menu-path>/<artId>-<artAlias>

Additional importante note: if we type the above URL in the browser without the <artAlias>, no problem: Joomla routes to the page as well, since the <artId> is enough for Joomla to target the content.

========

Now let's see how to create a link from a Joomla article to a Seblod article:

index.php?option=com_cck&view=article&id=<artId>:<artAlias>&Itemid=<menuId>

where <catId> is not there - if you add the categoryId, the resulting link is wrong. That is not a problem, just to know it.

The problem is that you need to write the <artAlias>: without the alias, the translated link becomes:

/<menu-path>/<artId>

without the alias. Where is the problem? The problem is that Seblod, not like Joomla, with only the artId does not return the content, it throws a 404 error.

So if later on, you change the alias of the article (e.g. since you adapt the title), all the link pointing to that article get broken!

I see two options here:

  1. the index.php&option=com_cck... form should build a complete URL including the artAlias, as it happens with links to Joomla articles. If I am not wrong, Joomla seeing "com_cck" should pass the routing job to the component router, so it's up to Seblod to build a good SEF link?
  2. Seblod should return the page receiving only the artId without the alias and not throws 404, as Joomla does with its content.

What do you think?

Cheers

Giuse

Get a VIP membership