Drupal 7 xem bộ lọc theo ngữ cảnh (phân loại: hiển thị tóm tắt), hiển thị tên thuật ngữ có thể đọc được thay vì id-id


9

Theo quan điểm của tôi, tôi đang sử dụng bộ lọc theo ngữ cảnh, với một " đầu ra tóm tắt " mặc định để lọc kết quả của tôi theo thuật ngữ phân loại .

Vấn đề là kết quả tóm tắt được nhóm theo một danh sách các id thuật ngữ phân loại (bao gồm số nút) và không phải tên id thuật ngữ có thể đọc được của con người.

  • 1 (21)
  • 2 (16)
  • Vân vân.

Có thể thay đổi (hoặc móc) đầu ra dạng xem của bản tóm tắt, bằng cách không liệt kê id của id, nhưng tên id-id?

  • Tên hạn A (21)
  • Tên hạn B (16)

(Tôi không bận tâm nếu URL yêu cầu thực tế giữ nguyên.)

Mục tiêu của tôi là tạo ra một định dạng đầu ra dễ đọc hơn về tóm tắt thuật ngữ phân loại của tôi, mà người dùng cuối có thể hiểu được.


Tôi đã tìm thấy câu hỏi tương tự khi được hỏi về Làm cách nào để sử dụng đối số Lượt xem để trả về tên thuật ngữ phân loại và không phải ID hạn? và một cuộc thảo luận tích cực về nó trên Đặt tiêu đề xem thành tên thuật ngữ khi đối số bộ lọc là id thuật ngữ . Họ cung cấp một bản vá, nhưng không có bất kỳ thành công.
Stefan Looij

Câu trả lời:


7
  1. Đặt chế độ xem của bạn cho các trường và hiển thị trường có chứa thuật ngữ phân loại liên quan.

  2. Đặt bộ lọc theo ngữ cảnh của bạn để lọc theo thuật ngữ phân loại và chọn đưa vào trình xác nhận.

  3. Đặt trình xác nhận thành thuật ngữ phân loại và đánh dấu vào ô cho từ vựng của bạn.

  4. Chọn tùy chọn cho loại giá trị bộ lọc là 'Tên thuật ngữ được chuyển đổi thành ID hạn.

  5. Lưu bộ lọc và đi đến hộp xem trước. Nếu bạn nhập tên văn bản của thuật ngữ của bạn, bạn sẽ thấy nội dung mong muốn.

Nếu bạn chuyển thông tin từ URl, bạn có thể phải chọn hộp kiểm 'Chuyển đổi dấu gạch ngang trong URL thành khoảng trắng trong giá trị bộ lọc tên thuật ngữ' vì tên máy sử dụng dấu gạch ngang


Một cái gì đó tôi đã quên là khi chọn bộ lọc theo ngữ cảnh, nó phải là Thuật ngữ phân loại (tên) và sử dụng mối quan hệ với trường trên các nút mà bạn đang hiển thị cho chính thuật ngữ đó, thay vì Nội dung: my_term_field_name
CR47

Câu trả lời này cho bạn biết làm thế nào để bộ lọc theo ngữ cảnh hoạt động với tên dễ đọc của con người của thuật ngữ phân loại, nhưng nó không trả lời câu hỏi. Câu hỏi là làm thế nào để hiển thị tên con người có thể đọc được của thuật ngữ phân loại trong các kết quả được lọc.
BrokenBinary

5

Sao chép tệp "Views_view-Tóm lược.tpl.php" thư mục "mô-đun / contrib / lượt xem / chủ đề" của bạn. (Bạn có thể làm cho nó xem hoặc chặn cụ thể bằng cách thêm hậu tố tên tệp.)

Lưu ý: Nếu bạn sử dụng tệp này làm màn hình hiển thị của quản trị viên, hãy đảm bảo bạn sao chép tệp này trong thư mục chủ đề quản trị viên, không phải thư mục chủ đề mặc định của bạn!

Bạn không cần bất kỳ thay đổi nào trong cài đặt hiển thị của mình. Chỉ cần điều chỉnh ghi đè tpl của bạn thành các dòng sau và ID hạn của bạn được chuyển đổi thành Tên thuật ngữ có thể đọc được:

<div class="item-list">
  <ul class="views-summary">
    <?php foreach ($rows as $id => $row): ?>
    <li>
      <a href="<?php print $row->url; ?>"<?php print !empty($row_classes[$id]) ? ' class="'. $row_classes[$id] .'"' : ''; ?>>
        <?php
        /* begin replacement */
        $term_object = taxonomy_term_load($row->link);
        print  $term_object->name; 
        /* end replacement*/
        ?>
      </a>
      <?php if (!empty($options['count'])): ?>
      &nbsp;(<?php print $row->count?>)
      <?php endif; ?>
    </li>
    <?php endforeach; ?>
  </ul>
</div>

1

Với ví dụ của bạn hoặc ví dụ dựa trên tiêu đề nút dưới dạng bộ lọc theo ngữ cảnh, nó hoạt động đúng. Nhưng trong câu hỏi của tôi, bộ lọc theo ngữ cảnh dựa trên thuật ngữ Phân loại. Trong trường hợp này, bản tóm tắt sẽ chỉ hiển thị ID kỳ hạn và bạn không thể hiển thị tên Thuật ngữ dễ đọc hơn.
Stefan Looij
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.