I've built a custom link provider which returns the complete url when the linked item is not from context website. It works as expected on english, but even if I add options.Language = Sitecore.Context.Language; on the other languages, it doesnt work. The override method looks like below:

public override string GetItemUrl(Item item, ItemUrlBuilderOptions options)
        options.Language = Sitecore.Context.Language;
        if (some_conditions)
            options.AlwaysIncludeServerUrl = true;

        return base.GetItemUrl(item, options);

The urls look the below:

On english: http://notTheContextSite/en/TestPage - ok

On german (for example): http://contextSite/de/sitecore/content/notTheContextSite/home/TestPage - not ok

Any ideas what can I do? Thanks

  • Did you try to debug? Is your code being called?
    – Gatogordo
    Mar 25, 2021 at 16:14
  • Is it working if you use notTheContextSite/de/TestPage? Also, how is the link provider patched in the configs? Mar 25, 2021 at 17:28
  • @Gatogordo, yes, it works, when I inspect the return value of base.GetItemUrl(item, options); the url already looks as it shouldn't, on language versions.
    – iusmar
    Mar 26, 2021 at 11:21
  • @CristiVulturar, it works on all pages, on all websites, in english. On language versions, the url is "broken".
    – iusmar
    Mar 26, 2021 at 13:55


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.