2010-08-25 21 views
1

Je travaille dans un modèle en Moveable Type et je voudrais faire ce qui suit:url encode ne codant pas pour

<a href="http://twitter.com/share?url=<$mt:EntryPermalink encode_url="1" $>">Twitter</a> 

tout cela fonctionne, mais je suis inquiet que le lien actuel ou à un moment donné, même si je utilisez un marqueur de titre mt qui pourrait ne pas convenir à la barre d'adresse du navigateur. Je pensais que vous pourriez utiliser encode_url = "1" mais cela ne semble pas coder mes titres ou liens. Par exemple: j'ai un titre avec des espaces et le code qui en résulte contient toujours les espaces. Aussi pour l'exemple ci-dessus ne devrait pas le http: // être encodé d'une manière spéciale? Parce que ça ne le fait pas.

Est-ce que je fais quelque chose de mal ici?

Répondre

1

Je viens de vérifier ce code et il sort correctement pour moi. J'utilise MT 4.34. J'ai utilisé le code modèle suivant dans un index basé sur un modèle:

<mt:Var name="url" value="http://google.com/hello I have spaces"> 
<mt:Entries lastn="1"> 
    Permalink: <mt:EntryPermalink encode_url="1"><br /> 
    Fake URL: <mt:Var name="url" encode_url="1"> 
</mt:Entries> 

Et je suis la sortie suivante:

Permalink: http%3A%2F%2Fwww.capndesign.com%2Farchives%2F2010%2F09%2Fthe_big_picture_scenes_from_china.php 
Fake URL: http%3A%2F%2Fgoogle.com%2Fhello%20I%20have%20spaces 

Donc je confirme que vous utilisez une version actuelle de MT (4,34 ou 5 .x) qui supporte ce modificateur, car les espaces et les caractères spéciaux devraient définitivement être remplacés par des entités HTML. J'essaierais aussi le code que j'ai fourni ci-dessus pour voir si vous obtenez la même sortie (sauf que votre permalink sera évidemment différent).