Làm cách nào để tôi chỉ lọc các thuật ngữ gốc trong từ vựng trong chế độ xem?


15

Tôi có một từ vựng có cấu trúc như vậy:

  • Root Alpha
    • Học kỳ Alpha 1
    • Học kỳ Alpha 2
      • Subterm Alpha 1
  • Root Beta
  • Root Gamma
    • Thuật ngữ Gamma 1
    • Thuật ngữ Gamma 2

Làm cách nào để tôi lọc chế độ xem để chỉ hiển thị các thuật ngữ gốc của từ vựng? Hiện tại quan điểm của tôi đang hiển thị các điều khoản gốc cũng như trẻ em (Thuật ngữ * *)

Đi tiếp từ đó tôi muốn chuyển đối số 'Root Alpha' (hoặc tin tức của nó, hoặc bất cứ điều gì từ một bối cảnh) và sau đó lọc nó để chỉ những đứa trẻ trực tiếp của 'Root Alpha'. (Thuật ngữ Alpha *). Lọc đến độ sâu hơn nữa sẽ là một phần thưởng.

Tôi có thể làm cho nó hoạt động nếu tôi đặt tất cả các thuật ngữ của mình trong một thuật ngữ gốc để vocab trở thành:

  • Root thật
    • Root Alpha
      • Học kỳ Alpha 1
      • Học kỳ Alpha 2
        • Subterm Alpha 1
    • Root Beta
    • Root Gamma
      • Thuật ngữ Gamma 1
      • Thuật ngữ Gamma 2

Tôi không chắc cấu trúc vocab nào chính xác hơn, việc viết này khiến tôi nhận ra rằng tôi có một số cách đọc ngoài việc tìm ra điều này với các lượt xem.

Câu trả lời:


13

Để chỉ hiển thị các thuật ngữ gốc, tôi có một giải pháp chắc chắn sẽ khiến ai đó phải đối mặt (ít nhất là tôi đã làm điều đó):

  1. Thêm bộ lọc theo ngữ cảnh vào chế độ phân loại của bạn
  2. Chọn thuật ngữ phân loại: thuật ngữ cha mẹ .

    Thiết lập nó như thế này: Khi không có giá trị bộ lọc : Cung cấp giá trị mặc định - Giá trị cố định . Đặt giá trị thành 0 .

Vâng, đó là tất cả. Điều khoản không có cha mẹ có 0 ở đây. Xem mô tả về trường mẹ của bảng taxonomy_term_hierarchy:

Khóa chính: {taxonomy_term_data} .tid của cha mẹ của thuật ngữ. 0 chỉ ra không có cha mẹ.


Cảm ơn bạn rất nhiều, chắc chắn facepalmed mình cho cái này. Cũng như một lưu ý nếu ai đó bị mắc kẹt với điều này, bạn không thể chỉ định 'Thuật ngữ phân loại' là trình xác nhận khi thực hiện việc này, vì không có điều khoản nào với tid 0.
Phizes

2

nếu bạn có cấu trúc phân loại tĩnh, bạn có thể lọc bằng cách sử dụng filter criterion: Content: Has taxonomy terms (with depth)thì ở nơi này bạn có thể chọn chỉ các thuật ngữ gốc để lọc:

tiêu chí lọc: Nội dung: Có các điều khoản phân loại (có chiều sâu)

Tôi hy vọng thông tin sẽ hữu ích.


Cấu trúc phân loại sẽ không tĩnh và điều này sẽ không cho phép tôi chuyển một đối số và sau đó lọc cho các phần tử gốc.
Phizes

@ moon.watcher: Làm thế nào tôi có thể sử dụng thuật ngữ phân loại (có chiều sâu)? Tôi chỉ chọn phụ huynh nhưng con cái cũng xuất hiện.
sokratis

1

Bạn cũng có thể làm điều đó với một bộ lọc đơn giản và cấu trúc phân loại không tĩnh:

  1. Thêm một tiêu chí lọc: Thuật ngữ phân loại: id cha
  2. Chọn toán tử "Bằng" và điền giá trị bằng "NULL"

nhập mô tả hình ảnh ở đây

Nó sẽ chỉ hiển thị các thuật ngữ gốc trong phân loại của bạn và sẽ vẫn hoạt động nếu bạn thay đổi cấu trúc phân loại sau ...


Có, @scandel nó sẽ xử lý một cấu trúc phân loại không tĩnh, nhưng nó sẽ không xử lý đi sâu hơn vào cây như được nêu trong câu hỏi, câu trả lời được chấp nhận.
Phizes

0

Bạn có thể chọn nó bằng WHERE parent = 0cách sử dụng db_query()trong trang của bạn.


Tôi không chắc ý của bạn là "trong trang của bạn", làm ơn giải thích? Ngoài ra, tôi không tự mình thực hiện truy vấn, các khung nhìn là vậy, vì vậy tôi có phải thay đổi truy vấn không?
Phizes
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.