Drupal มุมมอง 7 ตัวกรองเชิงบริบท (taxonomy: การแสดงผลสรุป), การแสดงคำศัพท์ที่สามารถอ่านได้แทน term-id


9

ในมุมมองของฉันฉันใช้ตัวกรองตามบริบทเมื่อใช้ค่าเริ่มต้น " สรุปการส่งออก " -to กรองผลการค้นหาของฉันโดยระยะอนุกรมวิธาน

ปัญหาคือผลลัพธ์สรุปถูกจัดกลุ่มโดยรายการ taxonomy term-id's (รวมถึงจำนวนโหนด) และไม่ใช่ชื่อ term-id ที่มนุษย์สามารถอ่านได้

  • 1 (21)
  • 2 (16)
  • เป็นต้น

เป็นไปได้ไหมที่จะเปลี่ยน (หรือขอ) เอาต์พุตมุมมองของการสรุปโดยไม่แสดงรายการ term-id แต่เป็น term-id-name

  • ชื่อเทอม A (21)
  • คำศัพท์ B (16)

(ไม่ต้องห่วงถ้า URL คำขอที่แท้จริงยังคงเหมือนเดิม)

เป้าหมายของฉันคือการสร้างรูปแบบผลลัพธ์ที่อ่านได้มากขึ้นของการสรุปคำศัพท์ทางภาษีซึ่งผู้ใช้สามารถเข้าใจได้


คำตอบ:


7
  1. ตั้งค่ามุมมองของคุณเป็นฟิลด์และเปิดเผยฟิลด์ที่มีคำศัพท์อนุกรมวิธานที่เกี่ยวข้อง

  2. ตั้งค่าตัวกรองเชิงบริบทของคุณเพื่อกรองคำศัพท์อนุกรมวิธานและเลือกเพื่อรวมเครื่องมือตรวจสอบความถูกต้อง

  3. ตั้งตัวตรวจสอบความถูกต้องเป็นเทอมอนุกรมวิธานและทำเครื่องหมายในช่องสำหรับคำศัพท์ของคุณ

  4. เลือกตัวเลือกสำหรับประเภทค่าตัวกรองเป็น 'ชื่อคำที่แปลงเป็นรหัสประจำตัว

  5. บันทึกตัวกรองและไปที่กล่องแสดงตัวอย่าง หากคุณป้อนชื่อข้อความของคำคุณควรเห็นเนื้อหาที่ต้องการ

หากคุณกำลังส่งข้อมูลจาก URl คุณอาจต้องเลือกช่องทำเครื่องหมาย 'แปลงขีดคั่น URL ในช่องว่างในค่าตัวกรองชื่อคำ' เช่นกันเนื่องจากชื่อเครื่องใช้ขีดกลาง


สิ่งที่ฉันลืมคือเมื่อเลือกตัวกรองตามบริบทจะต้องใช้สำหรับ Taxonomy Term (ชื่อ) และใช้ความสัมพันธ์กับฟิลด์บนโหนดที่คุณกำลังแสดงกับคำนั้นเองมากกว่าเนื้อหา: my_term_field_name
CR47

คำตอบนี้บอกวิธีการทำให้ตัวกรองบริบททำงานกับชื่อมนุษย์ที่สามารถอ่านได้ของเทอมอนุกรมวิธาน แต่มันไม่ตอบคำถาม คำถามคือวิธีแสดงชื่อมนุษย์ที่สามารถอ่านได้ของเทอมอนุกรมวิธานในผลลัพธ์ที่กรองแล้ว
BrokenBinary

5

คัดลอกโฟลเดอร์ "views_view-summary.tpl.php" ไปยังโฟลเดอร์ "modules / contrib / views / theme" ของคุณ (คุณสามารถทำให้มันดูหรือบล็อกเฉพาะโดยการเพิ่มชื่อไฟล์ - ต่อท้าย)

หมายเหตุ:หากคุณใช้สิ่งนี้เป็นจอแสดงผลผู้ดูแลระบบให้แน่ใจว่าคุณคัดลอกไฟล์นี้ในโฟลเดอร์ชุดรูปแบบของผู้ดูแลระบบไม่ใช่โฟลเดอร์ชุดรูปแบบเริ่มต้นของคุณ!

คุณไม่ต้องการการเปลี่ยนแปลงใด ๆ ในการตั้งค่าการแสดงผลของคุณ เพียงแค่ปรับเปลี่ยน tpl-override ของคุณเป็นบรรทัดต่อไปนี้และ Term-ID ของคุณจะถูกแปลงเป็นชื่อคำที่อ่านได้:

<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

ด้วยตัวอย่างของคุณหรือตัวอย่างจากชื่อโหนดเป็นตัวกรองเชิงบริบทมันทำงานได้อย่างถูกต้อง แต่ในคำถามของฉันตัวกรองตามบริบทนั้นขึ้นอยู่กับคำว่าอนุกรมวิธาน ในกรณีนี้ข้อมูลสรุปจะแสดงเฉพาะ ID ของระยะเวลาและคุณไม่สามารถแสดงชื่อคำที่อ่านได้มากขึ้น
Stefan Looij
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.