Bonjour,
depuis https://core.spip.net/projects/spip/repository/revisions/20640 ,
les liens sortants sont systématiquements en nofollow.
Comment désactiver se filtre sans modifier le code SPIP ?
Cordialement,
Eric
Bonjour,
depuis https://core.spip.net/projects/spip/repository/revisions/20640 ,
les liens sortants sont systématiquements en nofollow.
Comment désactiver se filtre sans modifier le code SPIP ?
Cordialement,
Eric
Bonjour,
En modifiant le filtre liens_nofollow dans /ecrire/inc/filtres.php
ainsi :
Bonjour,
Pour la partie descriptif auteur (je suppose que cela doit être
identique pour les autres #TEXTE) SPIP transforme les www.domain.tld in
clus dans le texte sans [lien->url] en lien hypertexte.
Je cherche ...
Cordialement,
Eric
Pas partout non ! pas que je sache. Ça le fait théoriquement pour les pétitions et les messages de forum. Si tu le vois ailleurs, c'est probablement que le squelette utilise le filtre en question explicitement.
Pour désactiver sur les pétitions et forums (pas forcément conseillé), il faut (re)déclarer la globale table_des_traitements qui force le filtre dessus. Le commit qui avait ajouté ça (sur les forums) est https://zone.spip.org/trac/spip-zone/changeset/73444
MM.
Bonjour,
Merci pour la réponse, dans un premier temps, j'utiliserai encore les
squelettes de la version de base du site en 1.8.3.
La boucle article n'utilise que le filtre "propre" : (#TEXTE|propre) et
d'autres filtres développés en interne pour les fonctionnalités du
site.
La boucle forum n'utilise aucun filtre standard de SPIP (#TEXTE).
Pour les www.domain.tld dans le texte (#BIO) transformés en liens <a
href="http://www.domain.tld">www.domain.tld.
Je cherche toujours.
Cordialement,
Eric
Juste au cas où cela pourrait servir à d'autres :
Doc table_des_traitements : https://programmer.spip.net/Traitements-aut
omatiques-des
Je crois qu’il y a une incompréhension sur ce point là :
#TEXTE utilise les filtres définis par défaut justement.
#TEXTE* enlève les filtres par défaut
#TEXTE** enlève aussi le filtrage de sécurité.
Les filtres par défaut sont déclarés dans la table des traitements (soit via la globale, soit via le pipeline).
MM.
Bonjour,
C'est tw_autoliens qui transforme le texte "www.domain.tld" dans
#TEXTE, #BIO ... en lien hypertexte.
Voir tmp/cache/charger_pipelines.php
Cordialement,
Eric
Ah effectivement, ce n’est pas la même chose ni au même endroit que ça se passe. J’ai bien aussi comme résultat par défaut sur #TEXTE de la boucle article :
<a href="http://domaine.tld/" class="spip_url spip_out auto" rel="nofollow external">http://domaine.tld/</a>
J’avoue que je n’avais jamais fait attention. Mais donc le nofollow ne vient pas du commit que tu indiquais au tout début du fil (ça m’a induit d’erreur).
Je passe la main du coup, je ne sais pas si ce comportement était voulu pour tous les auto-liens…
Donc des commits en rapport :
https://zone.spip.org/trac/spip-zone/changeset/57739
https://zone.spip.org/trac/spip-zone/changeset/41208 (introduction de nofollow semble t-il)
MM.
Merci
Bonjour,
J'ai ajputé :
$table_des_traitements['TEXTE']['forums'] =
"safehtml(".str_replace("%s","interdit_html(%s)",_TRAITEMENT_RACCOURCIS
).")";
à mes_options.php .
Les liens de type [textedancrage->http://domaine_externe.tld] inclus
dans le texte du forum sont toujours en nofollow.
Je manque sans doute quelque chose ?
Cordialement,
Eric
De cette façon :
$GLOBALS['table_des_traitements']['TEXTE']['forums'] =
"safehtml(".str_replace("%s","interdit_html(%s)",_TRAITEMENT_RACCOURCIS
).")";
Cela ne fonctionne pas non plus, toujours pour le #TEXTE des forums.
La modification suivante de plugin_dist/forum/base/forum.php
(https://zone.spip.org/trac/spip-zone/browser/core/branches/spip-3.0/
plugins/forum/base/forum.php?rev=73444)
- $interfaces['table_des_traitements']['TEXTE']['forums'] =
"liens_nofollow(safehtml(" . str_replace("%s",
"interdit_html(%s)", _TRAITEMENT_RACCOURCIS) .
"))";
+ if (!isset($interfaces['table_des_traitements']['TEXTE']['forums']))
$interfaces['table_des_traitements']['TEXTE']['forums'] =
"liens_nofollow(safehtml(" . str_replace("%s",
"interdit_html(%s)", _TRAITEMENT_RACCOURCIS) .
"))";
et l'ajout de :
$table_des_traitements['TEXTE']['forums'] =
"safehtml(".str_replace("%s","interdit_html(%s)",_TRAITEMENT_RACCOURCIS
).")";
à mes_options.php
permettent de ne pas appliquer le filtre liens_nofollow aux url
inclusent dans #TEXTE pour les forums.
Il semble que cela soit prévu pour les pétions
(https://zone.spip.org/trac/spip-zone/browser/core/branches/spip-3.0/
plugins/petitions/base/petitions.php?rev=73445)
Mais que cette possibilité ait été oublié pour le texte des forums ?
Cordialement,
Eric
Bonjour,
Je tente de désactiver liens_nofollow ajouter dans les pipelines liés
au plugin forum.
Dans mes_options.php :
$GLOBALS['spip_pipeline']['declarer_tables_interfaces'] .=
"|supprimer_liens_nofollow";
function supprimer_liens_nofollow($interfaces){
$interfaces['table_des_traitements']['TEXTE']['forums'] =
"safehtml(" . str_replace("%s",
"interdit_html(%s)", _TRAITEMENT_RACCOURCIS) .
")";
return $interfaces;
}
L'array interfaces est bien modifié et donne :
[table_des_traitements] => Array
(
...
[TEXTE] => Array
(
[0] => propre(%s, $connect, $Pile[0])
[forums] => safehtml(propre(interdit_html(%s),
$connect, $Pile[0]))
)
\[TITRE\] => Array
\(
\[0\] => typo\(supprimer\_numero\(%s\), "TYPO", $connect,
$Pile[0])
)
....
)
Cependant, la (re)déclaration de cet array dans /plugin-
dist/base/forum.php le remodifie et ajoute donc liens_nofollow().
Je cherche ....
Cordialement,
Eric
Un test pour vérifier si un pipeline a été modifié ne pourrait-il pas
être ajouté à /plugin- dist/base/forum.php ?
ou l'ajout d'un méta forums_liens_nofollow n'est il pas envisageable ?
Cordialement,
Eric
depuis un filtre liens_nofollow qui ajoute un rel="nofollow" à tous les liens du texte passé en argument (4b0ed3f4) · Validations · spip / spip · GitLab
les liens sortants sont systématiquements en nofollow.Comment désactiver se filtre sans modifier le code SPIP ?
Bonsoir,
C'est le filtre |propre appliquer à la balise #TEXTE du corps de
l'article qui met systématiquement les liens sortant en nofollow.
Cela devrait être indiqué quelque part dans la doc, par exemple dans ce
paragraphe :
"- les filtres les plus utilisés (ils sont appelés automatiquement)
sont |typo et |propre ; le premier est un correcteur typographique,
dont la mission principale est d’ajouter des espaces insécables où il
en faut (cf. l’aide en ligne de SPIP) ; le second s’intéresse aux
paragraphes, aux raccourcis SPIP (italiques, gras, intertitres, etc.) -
il n’est appliqué par défaut qu’aux textes longs (#TEXTE, #CHAPO,
etc.)"
Par ailleurs sur un squelette pour lequel je n'ai pas encore ôté ce
filtre, pour le #TEXTE du corps de l'article, j'ai trouvé un lien en
nofollow pour une référence interne au site.
Je teste ce squelette :suppression du filtre |propre .
Cordialement,
Eric
Bonsoir,
Le 21/10, j'ai désactivé l'autolink par :
define('_EXTRAIRE_LIENS', '//');
Le 22/10, j'ai testé la suppression du filtre propre sur le #TEXTE d'un
squelette d'article et je n'ai pas trouvé de nofollow indésirable.
Je viens de tester d'autres squelettes : #TEXTE|propre est toujours
là, mais plus de nofollow sur les liens externes.
Je suis allé un peu vite en besogne.
Je reprend à tête reposée et vérifie tout cela dans le bon ordre.
Merci,
Eric
En fait, il semblerait que cela soit la désactivation de l'autolinking
qui ait supprimé ce comportement.
On vérifie.
Bonsoir,
Pour les autoliens, le moyen de les désactiver est indiqué ici :
https://www.spip.net/fr_article5652.html
et là :
https://contrib.spip.net/Astuces-longues-pour-SPIP
à noter qu'aucun des ces articles ne fait mention du filtre autoliens.
https://code.spip.net/autodoc/tree/plugins-dist/textwheel/inc/autoliens
.php.html
Cordialement,
Eric
// ne pas transformer en lien cliquable les urls écrites dans le corps
des textes
define('_EXTRAIRE_LIENS', '//');