Vincent_R
(Vincent R)
Décembre 14, 2023, 2:57
1
Bonjour,
Le code suivant insère un espace entre l’URL de l’article et l’argument qui suit « ?id_rub=3514
» (lorsque nbart différent de 0) :
<a href="[(#URL_ARTICLE)][(#GET{nbart}!={''}|oui)?id_rub=#GET{idrubmultirub}]">[(#TITRE|supprimer_numero|couper{150})]</a>
L’URL obtenu ne fonctionne donc pas :
https://urldemon.site/article-machin.html ?id_rub=45621
Quelqu’un saurait comment se débarrasser de cet espace ?
Vincent_R
(Vincent R)
Décembre 14, 2023, 3:08
2
On peut bien sûr résoudre le problème ainsi pour n’afficher l’argument que lorsque nbart est différent de 0 :
<a href="[(#GET{nbart}!={''}|non)#URL_ARTICLE][(#GET{nbart}!={''}|oui)#URL_ARTICLE?id_rub=#GET{idrubmultirub}]">[(#TITRE|supprimer_numero|couper{150})]</a>
Mais cela n’explique pas d’où provient cet espace gênant.
b_b
Décembre 14, 2023, 4:08
3
Essaye avec ça [(#GET{nbart}|?{#URL_ARTICLE,#URL_ARTICLE|parametre_url{id_rub,#GET{idrubmultirub}}})]
.
De l’utilisation des filtres oui & non qui génèrent un espace cf |oui - SPIP
2 « J'aime »
Vincent_R
(Vincent R)
Janvier 11, 2024, 3:50
4
Merci beaucoup pour ces explications !
Et effectivement ce code est plus concis :
[(#GET{nbart}|?{#URL_ARTICLE|parametre_url{id_rub,#GET{idrubmultirub}},#URL_ARTICLE})]
(il faut inverser les 2 termes de la condition, car c’est le « sioui » qui est le premier argument)
b_b
Janvier 11, 2024, 4:05
5
Ha oui, désolé, j’ai lu ton code initial trop vite, content que tu aies trouvé ton bonheur.