2010-03-16 3 views
2

피드 모듈을 사용하여 레거시 웹 사이트에서 컨텐트를 가져온 후에는 이전 웹 사이트로 연결되는 링크가있는 노드 본문이 남습니다.모든 노드의 몸체를 조작하기위한 Drupal 모듈

일부 사용자 정의 코드를 사용하여 노드의 내용을 조작하여 각 노드를 반복하는 일회성 프로세스를 수행하는 Drupal 모듈이 있습니까?

답변

2

node_revisions 테이블을 단계별로 실행하고 거기에서 처리하는 PHP 스크립트를 쉽게 작성할 수 있습니다. 사용자 정의 코드에 익숙하다면 가장 빠른 방법 일 것입니다.

0

한 번 실행하기 위해 자신의 모듈을 작성할 수 있습니다. 모듈이 켜져 있고 페이지가로드되면 코드를 실행하는 데 사용할 수있는 Drupal hook_init()이 있습니다. 이 함수 내에서 db_query를 사용하여 노드 테이블의 모든 노드에 대해 쿼리하고 각 노드를 반복하며 변경하려는 링크에서 preg_replace를 수행 할 수 있습니다. $ node 오브젝트를 수정 한 후 루프의 끝에 node_save ($ node)를 사용하여 노드 변경 사항을 저장하십시오.

또는 링크 검사기, 경로 리디렉션 및/또는 글로벌 리디렉션과 같은 모듈을 사용하여 이전 경로를 새로운 경로로 연결하고 붕괴 된 링크를 찾을 수 있습니다.

0

늦은 대답이지만 그럼에도 불구하고. 노드의 링크를 수정하는 데 사용할 수있는 pathologic 모듈이 있습니다. 예를 들어 호스트 파트를 절대적으로 작성하거나 다시 작성할 수 있습니다.