Score:0

มุมมองที่ซ้อนกัน ajax เลขหน้า

ธง in

ฉันใช้ Drupal 9 และ views_field_view เพื่อฝังมุมมอง "ลูก" ไว้ในมุมมอง "พาเรนต์" เนื่องจากมีหลายแถวในมุมมองพาเรนต์ ฉันจึงต้องแสดงผลมุมมอง "ชายด์" เดียวกันหลายรายการ สิ่งนี้จะป้องกันไม่ให้ "เลขหน้า" แสดงผลเนื่องจาก "รหัสเพจเจอร์" เหมือนกันสำหรับมุมมองย่อยที่แสดงผลหลายรายการ

ฉันสามารถหลีกเลี่ยงปัญหาการแสดงผลนั้นได้โดยการตั้งค่ารหัสเพจเจอร์โดยทางโปรแกรม ดูรหัสด้านล่าง

ใช้ Drupal\views\ViewExecutable;

ฟังก์ชัน hook_views_pre_view (ViewExecutable $view, $display_id, อาร์เรย์ &$args) {
  
  ถ้า ($view->id() == '<view_id>') {
    $unique_id = $view->args[0]; // อาร์กิวเมนต์ที่เป็น ID เฉพาะ
    $view->pager->options['id'] = $unique_id;
  }
}

เมื่อใช้โค้ดข้างต้นในโมดูล เพจเจอร์ของมุมมองย่อยจะปรากฏขึ้นในขณะนี้ อย่างไรก็ตาม การคลิกหมายเลขเพจเจอร์หรือปุ่มจะส่งผลให้มุมมองพาเรนต์อัปเดตแทนที่จะเป็นมุมมองย่อย

ฉันจะเปลี่ยนเพจเจอร์สำหรับมุมมอง "ลูก" เพื่อให้อัปเดตมุมมองลูกแทนพาเรนต์ได้อย่างไร

ดูเหมือนว่าฉันต้องเริ่มต้นเพจเจอร์อย่างถูกต้องหรือแก้ไข jquery เพื่อให้อัปเดตมุมมองลูกแทนพาเรนต์หรือไม่ ฉันจะทำอย่างนั้นได้อย่างไร


ต่อไปนี้คือบางสิ่งที่ฉันได้ตรวจสอบแล้ว แต่จนถึงขณะนี้ยังไม่ได้ผล:

  1. แก้ไขมุมมอง Drupal 7 - ใช้ไม่ได้เนื่องจากจำนวนการดูถูกย้ายเข้าสู่แกนหลัก?
  2. Views โหลดปัญหาเพิ่มเติม, มุมมองแสดงโมดูลเพิ่มเติม, ดูปัญหาการเลื่อนไม่สิ้นสุด
  3. ภายในโมดูล views_field_view ดูเหมือนว่าจะพยายามตั้งค่ารหัสเฉพาะสำหรับเพจเจอร์ก่อนที่จะใช้สิ่งต่อไปนี้ $view->initPager(); เพื่อเริ่มต้นเพจเจอร์ อย่างไรก็ตาม การดีบักแสดงว่ารหัสที่ตั้งค่าไว้ไม่ได้ถูกนำไปใช้กับ $view มีบางอย่างเปลี่ยนแปลงกับ initPager หรือไม่ (แม้ว่า API จะไม่ได้ระบุว่ามีก็ตาม)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา