Details

      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:

      1. Have a site in two languages at least (let's say French / English)
      2. 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.

        Activity

        Hide
        Ricardo Correia (Inactive) added a comment - - edited

        @[~jerome.vieilledent@ez.no],

        Seems that you were right afterall.
        This isn't buggy, but seems very confusing.
        Both me and the customer were doing the same mistake. The language on the URL alias definition doesn't points to content in that language, but makes the alias available for that language. Languages are defined in the siteaccess, and we will be pointed to the content. The translation to be shown will depend on the languages set for that siteaccess, and the available translations for that content.

        Sorry for the confusion.

        Show
        Ricardo Correia (Inactive) added a comment - - edited @ [~jerome.vieilledent@ez.no] , Seems that you were right afterall. This isn't buggy, but seems very confusing. Both me and the customer were doing the same mistake. The language on the URL alias definition doesn't points to content in that language, but makes the alias available for that language. Languages are defined in the siteaccess, and we will be pointed to the content. The translation to be shown will depend on the languages set for that siteaccess, and the available translations for that content. Sorry for the confusion.

          People

          • Assignee:
            Unassigned
            Reporter:
            Ricardo Correia (Inactive)
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Time Spent - 2 hours Remaining Estimate - 2 hours
              2h
              Logged:
              Time Spent - 2 hours Remaining Estimate - 2 hours
              2h