나는 CCK를 통해 검색하기 위해 Drupal6에서 사용자 정의 검색 모듈을 만들고 싶습니다. 나는 노드 (node.uid = x)와 특정 유형 (type = 'xyz') 사이에서 검색 할 사용자가 필요합니다. hook_search를 구현해야한다고 생각하지만 필자는 필터를 넣을 위치를 모른다. .. 누가 도와 줄 수 있니? 미리 감사드립니다. c.Drupal : 컨텐트 유형에 대해서만 hook_search
2
A
답변
1
노출 필터가있는 Views을 만들 수도 있습니다. 아이디어를 구현하는 가장 쉬운 방법입니다.
0
또한 CCK Facets을 사용해보세요. 뷰는 물론 간단합니다.
2
이미 답변을 수락하셨습니다 (아마도 가장 좋은 방법 일 수 있습니다).하지만이를 수행하는 데는 몇 가지 다른 방법이 있습니다.
IIRC, Custom Search 모듈은 원하는대로 작동합니다.
hook_search
함수를 사용자 정의 모듈에 복사하고 쿼리를 수정할 수 있습니다. 당신이 뭔가를 할 수 있습니다
// ...
case 'search':
// Build matching conditions
list($join1, $where1) = _db_rewrite_sql();
$arguments1 = array();
$conditions1 = 'n.status = 1';
// NEW BIT START
$allowed = array(
'content_type_1',
'content_type_2',
'content_type_3',
);
$types = array();
foreach ($allowed as $t) {
$types[] = "n.type = '%s'";
$arguments1[] = $t;
}
$conditions1 .= ' AND ('. implode(' OR ', $types) .')';
$keys = search_query_insert($keys, 'type');
// NEW BIT END
이 실제 쿼리 문자열에서 유형을 추출 비트를 대체합니다.
n.uid
으로 다시 작성하려면 비트를 추가해야합니다. 최근에이 방법을 사용 해왔다. 사용자의 관점에서 보면 사용자 지정 검색이 더 간단하기 때문이다.
HTH
감사합니다. 정말 분명하고 유용합니다 !! – Cris