Score:0

เพิ่มตัวแปรสำหรับแต่ละแถวเพื่อใช้ในเทมเพลต view-view-unformatted

ธง my

เรากำลังสร้างเว็บไซต์ใหม่จากโครงการเก่าของ Drupal 7 สำหรับแต่ละรายการภายในมุมมอง ฉันต้องตรวจสอบว่ามีไฟล์อยู่หรือไม่เพื่อเปิดหรือปิดใช้ลิงก์ ใน Drupal 7 เราใช้ file_exists() ภายในเทมเพลต PHP แต่เราไม่สามารถทำเช่นนั้นได้อีกต่อไปกับ Twig

ฉันเลือกใช้ฟังก์ชัน template_preprocess_views_view_unformatted(&$variables) แต่ฉันตั้งค่าตัวแปรไม่ถูกต้อง

ฟังก์ชัน bootstrap5_preprocess_views_view_unformatted(&$ตัวแปร) {
    $variables['#cache']['max-age'] = 0;

    $id_view = $ตัวแปร['ดู']->id();
    // เสียงสะท้อน ($id_view);
    เปลี่ยน ($id_view) {
        กรณี 'recent_incidents_block':
            foreach ($variables['rows'] เป็น $key => &$value) {
                
                // $value['content']['#row']->file_exists= "ทดสอบ";
                $variables['rows'][$key]['file_exists'] = "ทดสอบ";
            }
        หยุดพัก;
    }
}

จากนั้นในเทมเพลตมุมมอง:

{% สำหรับแถวต่อแถว %}
  {% set file_exists = row.file_exists.value %}

แต่ไม่มีอะไรพิมพ์ด้วย {{file_exists}}

ru flag
สตริงเช่น `"test"` เป็นประเภทข้อมูลสเกลาร์ดั้งเดิม ไม่มีคุณสมบัติย่อยหรือคีย์ใด ๆ เช่น `.value` แต่สิ่งที่คุณพยายามทำอยู่นี้ คุณกำลังทำสิ่งที่แปลกออกไปอย่างแน่นอน อาร์เรย์เรนเดอร์ `{{ content }}` ของ Drupal/Twig นั้นว่างเปล่า Twig มีตัวดำเนินการว่างเปล่าสำหรับลอจิก และคุณสามารถเจาะลึกการอ้างอิงเอนทิตีภายใน Twig ได้โดยต่อท้าย ` .entity` บนฟิลด์ ER
sonfd avatar
in flag
นี่เป็นไฟล์ที่จัดการด้วย drupal หรือไม่ คุณสามารถเพิ่มฟิลด์ในมุมมองของคุณใน UI ได้หรือไม่
No Sssweat avatar
ua flag
ลอง `file_exits = row.file_exists` ไม่มีค่า

โพสต์คำตอบ

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