2017-10-11 5 views
1

Je crée un site en utilisant Umbraco 7.7 et j'ai un arbre de contenu comme ci-dessous.Changer l'URL dépendante de la langue active dans Umbraco 7

Content Tree

Les nouvelles (sur l'image Nieuws) est faite pour toutes les versions linguistiques (pour l'instant seule une version néerlandaise) en utilisant Vorto.

Le problème est l'URL de la page d'actualités. Maintenant, il ressemble à ceci:

http://localhost/data/nieuws 

Je vais changer cela à:

http://localhost/nl/nieuws 

Ou si j'avais une autre langue:

http://localhost/en/news 

Cela doit aussi travailler pour la pages enfant de nouvelles. Par exemple:

http://localhost/nl/nieuws/nieuwe-directeur 
http://localhost/en/news/new-CEO 

J'ai essayé de faire une propriété avec alias umbracoUrlName mais il ne changer que la dernière partie de l'URL et il est impossible de créer plusieurs URL pour la même page dans d'autres langues.

Voici le résultat. Je l'ai saisie ce texte nl/nieuws et l'URL est modifiée à cela pour la page des nouvelles:

http://localhost/data/nlnieuws 

J'ai aussi essayé un éditeur Vorto à des multiples langues mais j'ai cette url:

http://localhost:51086/data/values-nl-benlnieuws-dtdguid36eceba8-82ce-4362-954b-a870c65adfc1/ 

Comment pourrais-je modifier l'URL en fonction de la langue Actieve

Répondre

2

vous devez créer sur mesure UrlProvider et ContentFinder si vous voulez e à.

public class DataUrlProvider : IUrlProvider 
{ 
    public virtual string GetUrl(UmbracoContext umbracoContext, int id, Uri current, UrlProviderMode mode) 
    { 
     throw new NotImplementedException(); 
    } 

    public virtual IEnumerable<string> GetOtherUrls(UmbracoContext umbracoContext, int id, Uri current) 
    { 
     throw new NotImplementedException(); 
    } 
} 

public class DataContentFinder : IContentFinder 
{ 
    public bool TryFindContent(PublishedContentRequest contentRequest) 
    { 
     throw new NotImplementedException(); 
    } 
} 

La mise en œuvre n'est pas si complexe, mais pas si facile et il serait trop long pour cette réponse.

Pour vous donner une idée comment le faire vérifier ce billet de blog:

https://24days.in/umbraco-cms/2014/urlprovider-and-contentfinder/

+0

trouvé une réponse plus facile sur le forum Umbraco. Consultez ce lien: https://our.umbraco.org/forum/extending-umbraco-and-using-the-api/88635-change-url-dependent-of-the-langue-active-in-umbraco-7# comment-280214 Mais merci pour votre aide :) –

0

trouvé une réponse plus facile sur le forum Umbraco.

Avec Vorto, ou toute autre chose vraiment, si vous voulez une limace d'URL pour la langue/culture juste un clic droit sur le nœud parent → cliquez sur Culture et noms d'hôtes → sélectionner votre langue → dans la vente sur le terrain de domaine //mydomain.com/nl//mydomain.com/en/, etc.

Super facile. Il va l'ajouter à chaque page sous le noeud que vous sélectionnez.

Source: our.umbraco.org forum (Change URL dependent of the active language in Umbraco 7)