Score:0

ใช้ #states ในแบบฟอร์มย่อหน้าในบรรทัด

ธง ph

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

$field = 'field_supporter_form_fields';
$id_field = 'field_primary_custom';
$เดลต้า = $องค์ประกอบ['#เดลต้า'];
$id = sprintf('select[name="%s[%d][subform][%s]"]', $field, $delta, $id_field);
$element['subform']['field_field_type']['widget']['#states'] = [ 
  'มองเห็นได้' => [
    $id => ['value' => 'กำหนดเอง'],
  ]
];
$element['subform']['field_field_type']['widget']['#title'] = 'บลา!';

ฉันรู้ว่าฉันกำลังกำหนดเป้าหมายวิดเจ็ตที่ถูกต้อง เพราะฉันเห็นชื่อฟิลด์เปลี่ยนเป็น "บลา!" แต่การมองเห็นฟิลด์ไม่เปลี่ยนแปลง

นี่คือลักษณะของส่วนที่เกี่ยวข้องของ $element อาร์เรย์หลังการแก้ไข:

[#parents] => อาร์เรย์
    (
        [0] => field_supporter_form_fields
        [1] => 0
        [2] => ฟอร์มย่อย
        [3] => field_field_type
    )

[#states] => อาร์เรย์
    (
        [มองเห็นได้] => อาร์เรย์
            (
                [select[name="field_supporter_form_fields[0][subform][field_primary_custom]"]] => อาร์เรย์
                    (
                        [ค่า] => กำหนดเอง
                    )

            )

    )

เขตข้อมูลขึ้นอยู่กับ field_primary_custom เป็นปุ่มตัวเลือกคู่ที่มีค่าหลักหรือกำหนดเอง ชื่อขององค์ประกอบในหน้าคือ field_supporter_form_fields[0][subform][field_primary_custom] ซึ่งตรงกับสิ่งที่ฉันมีในตัวระบุ

เหตุใดการมองเห็นจึงไม่เปลี่ยนแปลง

Score:0
ธง ph

กลายเป็นว่าฉันต้องใช้อินพุตแทนการเลือก ไม่แน่ใจว่าทำไม แต่ใช้งานได้!

โพสต์คำตอบ

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