ฉันมีเอนทิตีที่กำหนดเองซึ่งขึ้นอยู่กับเอนทิตีผู้ใช้ ในความเป็นจริงมันเป็นเช่นนั้นขึ้นอยู่กับว่าฉันรู้สึกว่าเหมาะสมที่จะแสดงฟอร์มเอนทิตีของฉันภายในฟอร์มโปรไฟล์ผู้ใช้:
ปัญหาที่ฉันมีตอนนี้คือ; มี 2 ปุ่มบันทึก และถ้ามันไม่ดีพอปุ่มบันทึกสำหรับผู้ใช้ (ปุ่มล่าง) จะไม่สามารถใช้งานได้อีกต่อไปและปุ่มบันทึกฉลากสีขาวจะบันทึกเอนทิตีของป้ายขาวเท่านั้น
ฟอร์มถูกเปลี่ยนเป็นแบบฟอร์มผู้ใช้ดังนี้:
function whitelabel_form_user_form_alter(&$form, FormStateInterface $form_state) {
$whitelabel = WhiteLabel::load(1);
$whitelabel_form = \Drupal::service('entity.manager')
->getFormObject('whitelabel', 'default')
->setEntity($whitelabel);
$form['whitelabel'] = array(
'#type' => 'details',
'#title' => t('White label settings'),
'#open' => TRUE,
'form' => \Drupal::formBuilder()->getForm($whitelabel_form),
);
}
ฉันหวังว่าจะสลับพารามิเตอร์บางอย่างใน$whitelabel_form
อาร์เรย์ (ซึ่งเคยทำงานใน Drupal 7) แต่อาร์เรย์นั้นมีขนาดใหญ่มากและฉันไม่พบปุ่มส่งและตัวจัดการที่ฉันต้องการ
ดังนั้นคำถามคือสามารถทำได้หรือไม่ และอะไรคือวิธีที่แนะนำในการทำ?