Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNUtilisation - f...Utilisation - f...Supprimer les accents de lSupprimer les accents de l'URL
Précédente
 
Suivante
Nouveau message
18/12/2007 13:30
 

Bonjour,

je débute avec DNN, et j'aimerai savoir si il y a moyen de supprimer les accents dans l'URL généré par DNN en gros

http://localhost/monsite/noël/cadeaux//tabid/81/Default.aspx soit transformé en http://localhost/monsite/noel/cadeaux//tabid/81/Default.aspx?

Merci d'avance

 
Nouveau message
24/12/2007 23:16
 

Bonsoir

Cela est directement dicté par le nom des pages lors de la création. Cependant, tout ceci est stocké dans la table dnn_tabs, qu'on peut éditer à la main.

Recherche //noël//cadeaux et remplace par //noel//cadeaux cela devrait fonctionner.

seb

 
Nouveau message
02/01/2008 15:28
 

Merci mais je ne pouvais pas aller éditer à chaque modification de page la propriété tabpath.

Pour résoudre mon problème j'ai modifié la fonction qui permet de générer et donc enregistrer le tabpath (GenerateTabPath)

Merci

 
Nouveau message
16/01/2008 08:03
 

Bonjour

boutdechoux, peux tu expliquer comment tu as fait ? Ca m'intéresse d'avoir des urls sans accents (vraiment pas optimisé !)

 

Merci beaucoup

Phil

 
Nouveau message
17/01/2008 15:33
 

En fait j'ai changé la fonction qui crée le tabpath dans le fichier Library\Components\Shared\globals.vb

 

 Public Function GenerateTabPath(ByVal ParentId As Integer, ByVal TabName As String) As String
            Dim strTabPath As String = ""
            Dim objTabs As New TabController
            Dim objTab As TabInfo
            Dim strTabName As String
            objTab = objTabs.GetTab(ParentId, Null.NullInteger, False)
            Do While Not objTab Is Nothing
                'strTabName = HtmlUtils.StripNonWord(objTab.TabName, False)
                strTabName = objTab.TabName.Replace(" ", "-")
                'strTabPath = "//" & strTabName & strTabPath
                strTabPath = strTabPath & "//" & strTabName
                If Null.IsNull(objTab.ParentId) Then
                    objTab = Nothing
                Else
                    objTab = objTabs.GetTab(objTab.ParentId, objTab.PortalID, False)
                End If
            Loop

            'strTabPath = strTabPath & "//" & HtmlUtils.StripNonWord(TabName, False)
            'remplacement des espaces par des -
            strTabPath = "//" & TabName.Replace(" ", "-") & strTabPath

            'suppression des caractères accentués
            strTabPath = Regex.Replace(strTabPath, "[éèëê]+", "e", RegexOptions.Compiled)
            strTabPath = Regex.Replace(strTabPath, "[àäâ]+", "a", RegexOptions.Compiled)
            strTabPath = Regex.Replace(strTabPath, "[îï]+", "i", RegexOptions.Compiled)
            strTabPath = Regex.Replace(strTabPath, "[ùüû]+", "u", RegexOptions.Compiled)
            strTabPath = Regex.Replace(strTabPath, "[ôö]+", "o", RegexOptions.Compiled)
            strTabPath = Regex.Replace(strTabPath, "[ç]+", "c", RegexOptions.Compiled)
            strTabPath = Regex.Replace(strTabPath, "[(?+<>.,@#%& )*-]+", "-", RegexOptions.Compiled)

            Return strTabPath

        End Function

 
Nouveau message
17/01/2008 15:36
 
La suppression des caractères accentués ne pourrait pas se faire dans le friendlyURL, directement depuis l'interface de dotnetnuke?

Car apparement le code, correspond a des expression régulière et c'est ce que fait le friendlyurl dans les host settings, non?

JB
 
Nouveau message
17/01/2008 15:54
 

peut-être, j'avais essayé cette piste mais je ne m'en étais pas sorti... ma contrainte été de remplacer les espaces par des - et les caractères accentués par leur équivalent en non accentué...

Maintenant si tu as la solution avec des expressions régulières, je prends!

 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNUtilisation - f...Utilisation - f...Supprimer les accents de lSupprimer les accents de l'URL