web-dev-qa-db-fra.com

Mediawiki: comment échapper '=' dans les valeurs de paramètre de modèle

Je souhaite transmettre une URL à mon modèle Mediawiki en tant que paramètre, mais s'il contient =, il traite l'URL en tant que paramètre nommé. Par conséquent, les éléments suivants ne trouvent pas et ne remplacent pas le paramètre de modèle {{{1}}}:

{{MyUrl|http://www.example.com/abstract.cfm?uri=aa-123456}}

Échapper à = avec %3D entraîne des problèmes de transmission du lien dans le navigateur (Chrome) - le serveur répond par 404.

De plus, l'installation d'extensions sur ce serveur Mediawiki n'est pas recommandée. Cela peut-il être fait dans Vanilla Mediawiki?

5
elomage

Les solutions de contournement:

Précédons explicitement l'argument avec le nom du paramètre (numérique) dans l'appel à template, comme ceci:

{MyUrl|1=http://www.example.com/abstract.cfm?uri=aa-123456}}

ne autre solution: on peut créer un nom symbolique pour le paramètre. Ensuite, le modèle peut ressembler à ceci:

See here: [{{{link}}} (link)]

Et l'appel comme ça:

{MyUrl|link=http://www.example.com/abstract.cfm?uri=aa-123456}}

Combinez les solutions pour accepter les paramètres nommés et ordonnés pour les cas où il n'y a pas de signe '='. Le modèle (notez la chaîne vide après '|' comme valeur par défaut afin qu'un seul paramètre soit utilisé):

See here: [{{{link|}}}{{{1|}}} (link)]

Ceci peut être utilisé avec l'appel en utilisant 'link' ci-dessus et aussi comme ceci:

{MyUrl|http://www.example.com/no/equal/signs/}}

Notez que l'approche "combinée" n'est pas recommandée en raison d'une incohérence dans l'utilisation des paramètres, à moins qu'il y ait trop d'appels au gabarit vers le modèle en utilisant les paramètres ordonnés, rendant ainsi impossible la modification de tous les appels à l'approche de paramètre nommé.

3
elomage