Pathauto를 사용하지 않고 컨텐츠 유형에 대해 URL 별명을 자동으로 설정하는 방법은 무엇입니까? 어느 후크를 구현해야합니까?


11

Pathauto는 모든 컨텐츠 유형에 대해 쉽게 작업을 수행 할 수 있지만 필자의 경우 사용자 정의해야하는 컨텐츠 유형 URL이 하나뿐이므로 Pathauto 및 Token을 설치하지 않는 것이 좋습니다.

누구든지 어떻게해야하는지 조언 할 수 있습니까?


2
두통을 피하고 pathauto를 사용하십시오. 이 문제는 이미 해결 된 이유는 무엇입니까? Pathauto는 노드를 저장할 때만 성능 저하를 일으 킵니다.
Matthew Scharley

4
pathauto보다 더 좋은 URL을 생성 할 수 있고 하나 또는 두 가지 유형에 대한 URL을 생성하기 만하면 단일 후크를 구현하여 두 개의 모듈을 제거 할 수 있습니다. 또한 대량 가져 오기는 상당히 느리며 (어떤 시점에서는 개인적으로 400 노드 이후에 가져 오기를 거부합니다) 반면 경량 cron / bulk 스크립트는 초당 500 노드를 가져 왔습니다 .100k가 있으면 매우 좋습니다. 별칭을 생성 할 노드.
wildpeaks

답변:


12
/**
 * Implements hook_node_insert()
 */
 function mymodule_node_insert($node) {
   if ($node->type == 'mytype') {
     $node->path['alias'] = 'mytype/' . $node->nid;
   }
 }

또한이 코드를 hook_node_update ()에 추가 할 수 있습니다


1

p. 참조 Pro Drupal Development의 149에서 hook_insert ()를 사용하십시오. 새 노드가 저장되면 hook_insert ()가 호출됩니다. 노드를 저장하기 전에 노드 컨텐츠의 사용자 정의 처리를 처리 할 수있는 곳입니다. 또한 p를보십시오. 152-156 Pro Drupal Development-다른 hook_node_xxxx () 함수에 대해 설명합니다.

이전 답변에서 제안한대로 hook_node_insert ()를 사용하면 모든 노드 생성에 연결되어 특정 내용 유형을 변경해야 할 필요가 없다고 생각합니다.


다음 문장이 포함 된 hook_insert ()에보 고 된 내용을 참조하십시오 . "이 후크는 노드의 컨텐츠 유형을 정의하는 모듈에서만 호출됩니다 ( hook_node_insert()모든 노드 삽입에 작용 하는 데 사용 )."
kiamlaluno
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.