Drupal views arguments

เป้าหมาย: ต้องการดึงข้อมูล content type มาแสดง โดยมีเงื่อนไขว่ารายการที่แสดงจะต้องเป็นเฉพาะของคนๆนั้น ในหน้า node — แสดงเนื้อหาย้อนหลังของ user ที่เป็นเจ้าของ node ที่กำลังเปิด

โดยพื้นฐานแล้ว Drupal จะมี block ชื่อ "Recent blog posts" ที่เอาไว้สำหรับแสดงข้อมูลล่าสุดของ content type ประเภท "blog" แต่เป็นการแสดงแบบรวม user ทุกคน

แล้วถ้าต้องการจะให้แสดงเฉพาะ user ก็ต้องใช้ Module Views และกำหนด arguments ในการดึงข้อมูล

ขั้นตอน: เริ่มด้วยการกำหนดค่า field, style, filters อะไรต่างๆ ให้เรียบร้อย จากนั้นสร้างเงื่อนไข arguments

  • Argument -> User: uid
  • Action to... -> Provide default argument
  • Default argument... -> PHP Code
  • PHP argument code ->
    if (arg(0) == 'node') {
       $node = node_load(arg(1));
       return $node->uid;
    }

เท่านี้ก็เรียบร้อย สามารถดึง block ไปวางในหน้า node ได้เลย, ขอบคุณ gumara ที่เว็บไซต์ drupal.in.th

Comments

Anonymous's picture

เป็นเรื่องพื้นฐานที่มีประโยชน

เป็นเรื่องพื้นฐานที่มีประโยชน์มากกับคนทำเว็บไม่ค่อยรู้เรื่องโค้ด ขอบคุณครับ

Copyright Notice

Disclaimer

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

Create in Mac OS X

Powered by Drupal, an open source content management system