Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNUtilisation - f...Utilisation - f...Liens hypertext dans module HTMLLiens hypertext dans module HTML
Précédente
 
Suivante
Nouveau message
11/05/2011 09:36
 
Bonjour,

Je galère un peu avec les liens hypertext dans les modules HTML.
J'aurai souhaité pouvoir faire des liens relatifs à la racine du site avec "~" pour pouvoir déplacer le site sans avoir à reconfigurer tous les liens.

Je constate que les liens créé dans l'éditeur du module HTML sont des liens absolus (incluant le domaine + le répertoire virtuel du site) :
<a href="http://www.xxxx.fr/portail/fr-fr/documents/articles.aspx">
Mais cela fonctionne aussi en retirant le nom de domaine :
<a href="/portail/fr-fr/documents/articles.aspx">

Par contre je trouve "peu portable" de devoir préciser le répertoire virtuel.
Et puis, suite à la désactivation de la langue English, j'ai du changer tous les liens pour supprimer /fr-fr.

Donc je pense ne pas avoir bien compris comment pointer une ressource du site par lien hypertext dans DNN (y compris les src="..." des images) !

Si vous pouvez me conseiller sur la façon de faire, merci d'avance.
 
Nouveau message
11/05/2011 10:00
 
Je suppose que c'est une instance DNN mutualisée avec plusieurs sous-sites ? Dans ce cas il faut bien identifier le site concerné au sein de l'instance unique.

En ce qui concerne la désactivation d'une langue, c'est un scénario en effet peu courant et pas prévu semble-t-il, mais pourquoi désactiver la langue ? Au pire il suffisait de laisser l'anglais sans l'utiliser et les urls seraient restées inchangées. 



Je ne vois pas trop quelle solution tu imagines dans ce scénario. Analyser tous les liens du site et les modifier en conséquence de la suppression de la seconde langue... ça parait lourd et risquerait de provoquer plus de problème que de solutions. Le mieux est sans doute une requête SQL pour un site qui aurait bcp de liens à rectifier.



Enfin il y a plusieurs éditeurs possible, peut-être qu'un autre répondrait mieux à ton attente dans sa gestion des urls. 
 
Nouveau message
11/05/2011 10:18
 
Merci Benoit pour ces remarques.

J'utilise un DNN mutualisé (au cas où ...) mais n'ai qu'un seul sous-site. Je comprends cependant pourquoi le répertoire virtuel se trouve dans l'url.
Sinon, j'ai désactivé la langue English, pour ne plus avoir les "drapeaux" de choix de la langue en haut de page de la skin par défaut, et pour avoir des url "friendly". Rien à faire à mon avis, il faut juste connaître l'impact de cette configuration.


Puor les liens hypertext et src=, comment fait-on alors, si l'on développe sur un site de dev (répertoire viruel /dev) pour transférer les pages créées en dev. vers un site de production (répertoire virtuel /prod) ?
Par exemple comment traduire "automatiquement" les sources des modules HTML :
<a href="/dev/documents/articles.aspx"><img src="/dev/Portals/_default/images/box1.png" /></a>
en
<a href="/prod/documents/articles.aspx"><img src="/prod/Portals/_default/images/box1.png" /></a>

 
Nouveau message
11/05/2011 10:55
 
C'est rare qu'en dev on aille aussi loin dans le contenu jusqu'à créer les liens, mais je vois des solutions, 1.- une requête SQL de modif des urls, ou 2.- développer la maquette sur l'url réelle en forçant l'adresse ip locale dans ton fichier host jusqu'au basculemement en prod. 3. Comme tu as fait, supprimer le domaine à la main 4. Trouver un autre éditeur HTML
 
Nouveau message
11/05/2011 13:51
 
Bonjour Egg,
Voici un script utilisé testé sur DNN 5.5.0 pour faire ce travail:

Update HtmlText
SET HtmlText.Content = cast(replace(cast(HtmlText.Content as nvarchar(max)),'[FIND]','[REPLACE]') as ntext)
where HtmlText.Content like ('%[FIND]%')

[FIND]        =>    href=&quot;/dev/
[REPLACE] =>    href=&quot;/prod/

Par contre attention au cache. Après exécution de ce script, il faut redémarrer le site sinon les changements n'apparaissent pas. De plus, cela modifie aussi tous les historiques des contenus html.

Aricie Team
 
Nouveau message
12/05/2011 08:19
 
Merci pour vos réponses.
 
En général, lorsque j'écris du HTML (en dehors de DNN) j'aime bien pointer les ressources (href=, src=) à l'aide :
- de chemins relatifs à la page en utilisant ./xxx ou ../xxx
- ou depuis la racine du site avec ~/xxx
ce qui permet de déplacer le site sans modification des pages.

Dans DNN, j'ai du mal à comprendre où se trouve la page envoyée au navigateur pour pouvoir utiliser ces chemins relatifs. La page est générée à partir de la base de données, mais est-elle stockée sur le disque du serveur http avant l'envoi, dans ce cas dans quel dossier ? ou le flux html est-il directement transmis ?

Donc actuellement j'ai plus un problème de compréhension pour écrire les chemins des ressources qu'un pb d'éditeur html.

Mais je me dis que je n'ai peut être pas tout compris du fonctionnement dans DNN !
benoit a dit:
C'est rare qu'en dev on aille aussi loin dans le contenu jusqu'à créer les liens, mais je vois des solutions,  
Comment faites-vous pour écrire le chemin d'une image (src=) qui est stockée dans un dossier qui n'est pas la racine de DNN ? sans mentionner dans le chemin le domaine + le dossier virtuel. Hors DNN, j'aurai écirs par exemple src="../image/monimage.jpg" si l'image se trouve dans un dossier "image" au même niveau que la page html.

Autre exemple, mon site génère beaucoup de fichiers pdf dans un dossier spécifique pour les isoler du fonctionnement de DNN. Comment mentionner un chemin dynamique à partir de la racine du site par exemple ?
 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNUtilisation - f...Utilisation - f...Liens hypertext dans module HTMLLiens hypertext dans module HTML