L’installation et l’activation du plugin se font comme pour tout plugin.
Une fois activé, le plugin propose une nouvelle entrée Recherche / Remplace dans le menu Maintenance de la partie privée, et permet de là :
- de saisir une chaîne à rechercher,
- de rechercher toutes les occurrences de cette chaîne dans les champs éditables (ou si non declarés, dans les champs versionnés) de type text
ou varchar
des objets SPIP [1],
- affiche les résultats de la recherche par type d’objet avec : le nombre d’occurrences dans chaque objet.
- présente le contexte de chaque occurrence avec les caractères juste avant et juste après
- en option, de saisir une chaîne de remplacement, pour
- demander le remplacement par la 2e chaîne de toutes les occurrences trouvées de la première chaîne,
Lors de la demande de confirmation, le remplacement est sélectionnable type par type (on peut ne remplacer que dans les articles par exemple).
Seuls les Administrateurs complets (non restreints) sont autorisés à utiliser ce plugin.
Paramétrage webmestre
- Le webmestre peut personnaliser la longueur du texte contexte affiché pour chaque occurrence de la chaîne cherchée. Pour cela il définit la constante RECHREMP_CONTEXTE_NB_CHARS
. Sa valeur indique la longueur du texte contexte présent avant et après chaque occurrence. Si elle vaut 0, le détail des occurrences n’est pas affiché du tout. Par défaut, 20 caractères avant et 20 caractères après sont affichés.
- Le webmestre peut personnaliser l’affichage de chaque objet résultat en définissant la constante RECHREMP_INFO_RESULTAT_A_GENERER
dans le fichier d’options du squelette ou d’un plugin. Pour cela, il spécifie un autre champ ’info’ que la valeur par défaut qui est ’titre’. Cette autre valeur peut être un champ existant ou bien ce peut être une info calculée par une fonction generer_${info}_${type_objet}($id, $objet)
et/ou generer_$info_entite($id,$type,$objet)
qu’il doit également définir.
Développements envisageables
Vos contributions sont bienvenues si vous voulez étendre les possibilités de ce petit outil bien pratique :
- paramétrer plus finement le champ d’application de la recherche ou du remplacement : dans telle rubrique seulement ou dans telle liste de rubrique seulement...
- permettre à un administrateur partiel d’accéder à l’outil et de faire des remplacements dans ses rubriques seulement.
- permettre une recherche par expression régulière : fait par Marcimat en mars 23.
Discussions par date d’activité
4 discussions
Bonjour,
Sous Spip 4.2 Rechercher-remplacer trouve 1456 occurrences de <media
mais lorsque je demande de remplacer par <doc , après validation, je reçois comme résultat :
Résultat du remplacement« <media »
Aucun remplacement sur les Articles
Rien n’a été remplacé.
Que puis-je faire ?
Je ne reproduis pas.
Tu coche bien la case « Articles » avant de demander le remplacement ?
Tout marche bien en fait.
J’avais bien coché la case article mais pas celle qui sélectionne tous les résultats trouvés et que je n’avais pas remarquée. Je validais directement et comme rien n’était sélectionné...
J’aurai une demande d’amélioration (trop tard pour moi et mes 134 occurrences). Y aurait-il un moyen de revenir en cas d’erreur une fois le remplacement finalisé ?
Pour annuler le remplacement, il faut avoir fait une sauvegarde de la BDD juste avant, pour la réinstaller juste après. Mais il est plus simple de ne pas faire le remplacement si c’est ça le but.
Il faut donc être très prudent et ne jamais faire d’erreur, oubli, faute de frappe dans le choix du mot de remplacement.
Ma BD dépasse la limite de sauvegarde de la BD interne à Spip. De plus s’il faut faire une sauvegarde pour chaque changement, c’est assez lourd.
Quoi qu’il en soit, c’est un bon outil pour mes besoins.
Je n’ai jamais eu de pb en faisant des remplacements mais effectivement il faut faire attention à ne pas faire d’erreur vu que c’est un changement global, qui peut impacter plusieurs articles.
Fort heureusement, la sauvegarde de la BDD zipée se fait en 2 clics une fois que phpMyAdmin est ouvert.
Répondre à ce message
Bonjour,
Je suis passé en PHP 7.3.26 du coup j’ai désactivé le couteau suisse pour que cela fonctionne suite à cela toutes mes photos étaient en portfolio doc et n’apparaissent plus en public. Avec récupérer - remplacer j’ai converti en img mais les fichiers PDF qui doivent rester en doc sont passés en img Avez vous une combine pour remettre tous ces PDF en doc ? svp.
Cordialement
Gilles
https://cgsebdeb.fr/
Salut, pourquoi donc est ce que passer à PHP 7.3 a nécessité tout ça ? Pour le CS je peux comprendre mais ça devrait pas changer la manière avec laquelle les image sont gérées. Ou peut être tu es passé à SPIP 3.3 aussi ? Et dans ce cas il y a un tout nouveau plugin pour assurer la compatibilité des images : https://git.spip.net/spip-contrib-extensions/historique_spip32_documents (je sais pas s’il est fini et prêt à l’usage)... mais il faudrait restorer la version originale des textes. Là pour gérer tes textes modifiés, il faudrait chercher par regexp :
/<img([^>]+)\.pdf/i
et remplacer par<doc$1.pdf"
mais rechremp le fait pas...Merci pour ta réponse ! Non je ne suis pas passé en SPIP 3.3 je suis tjrs en 3.2.8, mes images sont liés à mes articles «
<doc2...|...>
» par exemple avant les images étaient déposées dans le portfolio, depuis que j’ai désactivé le couteau suisse il a fallu que je sorte toutes les images du portfolio et les passer en img, je le fais actuellement en manuel, mais c’est un bouleau laborieux, à suivre...Répondre à ce message
Bonjour,
C’est nouveau, cela vient de sortir.... et cela m’aurait bien servi !
J’ai complètement refondu (à la mano) la structuration d’un site :
- changement de rubriques, de secteurs....
- déplacement d’articles, de logos,
Je ne connaissais pas ; dommage pour moi.
Merci JLuc
Cette fois-ci, je m’en suis souvenu : bien pratique pour revenir à la définition traditionnelle des inscrustions d’images embarquées dans les textes d’articles, après un détour un peu trop hatif vers une SPIP 3.3-dev, qui les écrivait
<mediaXXX|insert|center>.
Pas la peine de modifier le reste de la chaine, les filtres (en particulier ici
|insert
sont simplement ignorés par SPIP !Merci
Répondre à ce message
Nouveau : affichage du contexte des occurrences
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |