2010-03-16 5 views
2

Après avoir importé le contenu d'un site Web existant à l'aide du module Flux, il me reste des corps de noeud contenant des liens vers l'ancien site Web.Module Drupal pour manipuler le corps de chaque noeud

Existe-t-il un module Drupal qui effectue un processus ponctuel pour parcourir chaque nœud, en manipulant le contenu des nœuds à l'aide d'un code personnalisé?

Répondre

2

Vous pouvez facilement écrire un script PHP pour parcourir la table node_revisions et y effectuer votre traitement. Si vous êtes à l'aise avec le code personnalisé, c'est probablement le moyen le plus rapide.

0

Vous pouvez écrire votre propre module avec l'intention de l'exécuter une fois. Il existe un Drupal hook_init() que vous pouvez utiliser pour déclencher le code lorsqu'un module est activé et que la page est chargée. Dans cette fonction, vous pouvez interroger tous les nœuds de la table de nœuds avec db_query, parcourir chaque nœud et faire un preg_replace sur le lien que vous voulez modifier. Après avoir modifié l'objet $ node, utilisez node_save ($ node) à la fin de la boucle pour enregistrer les modifications de noeud. Vous pouvez également utiliser un module comme Vérificateur de liens, Redirection de chemin et/ou Redirection globale pour lier les anciens chemins aux nouveaux et rechercher des liens tronqués.

0

Une réponse tardive, mais néanmoins. Il existe un module pathologic qui peut être utilisé pour réparer les liens dans les nœuds. Par exemple, pour les rendre absolus ou réécrire la partie hôte.

Questions connexes