Score:-3

How to fill a form field of type fieldset with values from an array

ธง cn

How can I fill a formfield type fieldset with more than one markup value from an array?

foreach ($drugis_postgis_connection->tableNames() as $table) {
    $form['tables'] = [
      '#type' => 'fieldset',
      '#title' => $this->t('Tables'),
      '#markup' => $table, 
      '#collapsible' => TRUE, // Added
      '#collapsed' => FALSE,  // Added
  ];

I don't need more fields i want to markup all values from the array in the field. Actually there is only one value, from the array displayed.


Sorry if my question is not clear, i want something like this.

enter image description here

Score:0
ธง us

หากคุณเขียนทับ $แบบฟอร์ม['ตาราง'] ในการวนซ้ำแต่ละครั้ง คุณจะจบลงด้วยหนึ่งเดียวเท่านั้น ตาราง ในแบบฟอร์ม แต่ละองค์ประกอบบน $รูปแบบ จำเป็นต้องมีชื่อเฉพาะ ลองสิ่งนี้:

foreach ($drugis_postgis_connection->tableNames() เป็น $key => $table) {

  $form['ตาราง' . $คีย์] = [
    /** ... **/
  ];

}

หากคุณต้องการชุดเขตข้อมูลเพียงชุดเดียว ให้ลองทำดังนี้:

$tables = $drugis_postgis_connection->ชื่อตาราง();
$แบบฟอร์ม['ตาราง'] = [
  /** ... **/
  '#markup' => ระเบิด('', $tables),
  /** ... **/
];
Steffen  avatar
cn flag
ใช้งานได้ดี แต่มันสร้างขึ้นสำหรับทุกค่าในบล็อกของตัวเอง ฉันต้องการแสดงรายการตารางทั้งหมดในรูปแบบเดียว ???
us flag
ฉันถือว่าคุณหมายถึง fieldset หนึ่งชุด หากเป็นกรณีนี้ ฉันได้อัปเดตคำตอบแล้ว
Score:0
ธง us

รหัสที่แสดงในคำถามใช้งานไม่ได้ด้วยเหตุผลสองประการ

  • เดอะ แต่ละ ลูปจะเอาชนะ $แบบฟอร์ม['ตาราง'] ในแต่ละครั้งด้วยผลที่ $form['tables']['#markup'] มีเฉพาะชื่อตารางสุดท้ายที่พบจาก $drugis_postgis_connection->ชื่อตาราง()
  • ชุดเขตข้อมูล องค์ประกอบไม่ได้ใช้ #มาร์กอัป

คุณต้องใช้รหัสที่คล้ายกับรหัสต่อไปนี้

$tables = $drugis_postgis_connection->ชื่อตาราง();

$แบบฟอร์ม['ตาราง'] = [
  '#type' => 'ชุดฟิลด์',
  '#title' => $this->t('ตาราง'),
  '#collapsible' => จริง,
  '#collapsed' => FALSE,
];

$form['tables']['list'] = [
  '#markup' => implode(',', $tables),
];

ผมถือว่า $drugis_postgis_connection->ชื่อตาราง() ส่งคืนอาร์เรย์ของสตริง มิฉะนั้น, ระเบิด(',', $tables) ต้องมีการเปลี่ยนแปลง

โพสต์คำตอบ

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