뷰에서 어휘의 근본 만 필터링하려면 어떻게합니까?


15

다음과 같이 구성된 어휘가 있습니다.

  • 루트 알파
    • 용어 알파 1
    • 용어 알파 2
      • 하위 알파 1
  • 루트 베타
  • 루트 감마
    • 용어 감마 1
    • 용어 감마 2

어휘의 근본 용어 만 표시하도록보기를 어떻게 필터링합니까? 현재 내 견해는 근본 용어와 자녀 (Term * *)를 표시합니다.

그런 다음 'Root Alpha'(또는 그 tid 또는 컨텍스트의 내용) 인수를 전달한 다음 'Root Alpha'의 직계 자녀 만 필터링하도록하고 싶습니다. (항 알파 *). 그 이상의 깊이로 필터링하면 보너스가됩니다.

모든 용어를 하나의 근본 용어에 넣어 어휘가 다음과 같이되면 효과가 있습니다.

  • 진정한 뿌리
    • 루트 알파
      • 용어 알파 1
      • 용어 알파 2
        • 하위 알파 1
    • 루트 베타
    • 루트 감마
      • 용어 감마 1
      • 용어 감마 2

나는 어떤 vocab 구조가 더 정확한지 잘 모르겠습니다.

답변:


13

근본 용어 만 표시하기 위해 누군가를 페이스 팜으로 만들 수있는 솔루션이 있습니다 (적어도 나는 그렇게했습니다).

  1. 분류보기에 상황 별 필터 추가
  2. 분류 용어 : 상위 용어를 선택하십시오 .

    이런 식으로 설정 : 필터 값을 사용할 수없는 경우 : 기본 값 제공 - 고정 값을 . 값을 0으로 설정하십시오 .

그래, 그게 다야 부모가없는 용어는 0입니다. taxonomy_term_hierarchy 테이블의 상위 필드에 대한 설명을 참조하십시오.

기본 키 : 용어 상위의 {taxonomy_term_data} .tid. 0은 부모가 없음을 나타냅니다.


정말 고마워요. 누군가가이 문제에
봉착했다면

2

정적 분류 체계가있는 경우 filter criterion: Content: Has taxonomy terms (with depth)다음을 사용하여 필터링 할 수 있습니다 .이 위치에서 필터링 할 근본 용어 만 선택할 수 있습니다.

필터 기준 : 내용 : 분류 용어가 있음 (깊이 포함)

정보가 도움이 되길 바랍니다.


분류 체계는 정적이 아니므로 인수를 전달한 다음 근본 항의 하위 항목으로 필터링 할 수 없습니다.
Phizes

@ moon.watcher : 분류 용어 (깊이 포함)를 어떻게 사용합니까? 부모 만 선택하지만 자녀도 나타납니다.
sokratis

1

간단한 필터와 정적이 아닌 분류 체계를 사용하여이를 수행 할 수도 있습니다.

  1. 필터 기준 추가 : 분류 용어 : 상위 ID
  2. 연산자 "같음"을 선택하고 값을 "NULL"로 채 웁니다.

여기에 이미지 설명을 입력하십시오

분류 체계의 근본 용어 만 표시하며 나중에 분류 체계를 변경해도 작동합니다.


예, @scandel은 정적이 아닌 분류 체계를 처리하지만 질문에 설명 된대로 나무를 더 아래로 진행하는 것은 처리하지 못합니다.
Phizes

0

페이지에서 를 WHERE parent = 0사용하여 선택할 수 있습니다 db_query().


'페이지에서'가 무슨 뜻인지 잘 모르겠습니다. 설명해주세요. 또한 쿼리를 직접 실행하지 않고 뷰가 쿼리를 변경하지 않아도됩니까?
Phizes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.