Details
-
Bug
-
Resolution: Invalid
-
Medium
-
4.6.0
-
eZ Publish 4.6
Description
There is bug happening when creating URL Alias for a node in a different language. The default language is French and creation of URL aliases works in this language, but it does not work in other languages (for instance, English).
When we create an URL alias in other languages (module /content/urlalias) then nothing happens, no error message in logs, but the alias is not created. We investigated by debugging the kernel in the following files:
kernel/content/urlalias.php
kernel/classes/ezurlaliasml.php
And we found out that the issue happens at line 712 of ezurlaliasml.php :
$query = "SELECT * FROM ezurlalias_ml WHERE id = '{$linkID}'";
Indeed, the language mask (lang_mask) is not specified here, so what happens is that this query does not return only the right result but also other results.
Also, there's online documentation describing how this feature should work:
http://doc.ez.no/eZ-Publish/Technical-manual/4.6/Features/Multi-language-support-for-URL-aliases/Managing-URL-aliases
However, the translation language of a location is never taken in consideration.
Steps to reproduce:
- Have a site in two languages at least (let's say French / English)
- Create an URL alias in non-default language for a given node (using the by-node URL alias feature and not global URL alias)
This has been tested on an up-to-date eZ Publish 4.6 environment, with all the available updates installed.