ได้โปรดฉันต้องการความช่วยเหลือเกี่ยวกับรหัสของฉัน ฉันมีแบบฟอร์มและบล็อกที่สร้างขึ้นโดยทางโปรแกรม บล็อกฝังแบบฟอร์มเพื่อแสดงไว้ที่ส่วนหน้าบล็อกยังมีการตั้งค่าบางอย่าง (ข้อความนำหน้าแบบฟอร์ม) ฉันต้องการโหลดการตั้งค่าบล็อกภายใน buildForm ของฉันใน Form.php ของฉันเพื่อรับข้อความคำนำหน้าและแสดงในฟิลด์มาร์กอัปแบบฟอร์ม แต่ฉันไม่สามารถหาวิธีส่งต่อ $block_id ไปยัง buildForm() เพื่อให้สามารถโหลดบล็อกได้
ฉันมีสถานการณ์ที่สามารถมีบล็อกเหล่านี้สองบล็อกในหน้าเดียวกัน ซึ่ง Drupal จะสร้างบล็อกที่ไม่ซ้ำใครโดยต่อท้าย ID บางตัวด้วยรหัสบล็อก ตัวอย่างเช่น หน้าของฉันมีสองบล็อกเหล่านี้ บล็อกหนึ่งจะเป็นแบบนี้ ข้อเสนอแนะบล็อก
ที่อื่นจะเป็น คำติชมบล็อก_2
ดังนั้นฉันจึงไม่สามารถฮาร์ดโค้ดรหัสบล็อกเพื่อโหลดในฟังก์ชัน buildForm ของฉันได้
ฉันต้องการให้ส่งรหัสบล็อกไปยังแบบฟอร์มแบบไดนามิก
build() จาก Block.php ของฉัน:
สร้างฟังก์ชั่นสาธารณะ () {
$block_id // รับรหัสบล็อกของอินสแตนซ์บล็อกปัจจุบัน
$feedback_form = $this->formBuilder->getForm(FeedbackForm::class, $block_id);
$สร้าง = [];
$build['#theme'] = 'feedback_block';
$build['feedback_block']['#markup'] = แสดงผล ($feedback_form);
ส่งคืน $build;
}
buildForm จาก FeedbackForm.php ของฉัน:
ฟังก์ชันสาธารณะ buildForm (อาร์เรย์ $form, FormStateInterface $form_state, สตริง $block_id) {
// รับรหัสบล็อกที่นี่
}
มีวิธีใดบ้างที่จะบรรลุเป้าหมายนี้?