একটি রুট ব্যবহার করে কোনও ফর্ম লোড করার দুটি উপায় রয়েছে। হয় আপনি একটি কলব্যাক লোড করতে পারেন যা কোনও ফর্ম লোড করে এবং বিল্ড অ্যারের অংশ হিসাবে এটি প্রদান করে, বা আপনি ডিফল্টর অধীনে _for পরামিতি সেট করে ফর্মটি সরাসরি আপ করতে পারেন up
কার্যকারী উদাহরণগুলি খুঁজে পেতে আপনি কোডবেসটি অনুসন্ধান করতে পারেন, আপনার মাইমডিউল.আউটটিং.আইএমএল এ এটি অনুলিপি করতে পারেন, আপনার প্রয়োজন অনুসারে এডিট করুন এবং তারপরে ক্যাশেটি পুনর্নির্মাণ করতে পারেন।
কলব্যাক থেকে ফর্ম লোড হচ্ছে:
যোগাযোগের মডিউলটিতে একটি কার্যকারী উদাহরণ রয়েছে:
/core/modules/contact/contact.routing.yml
entity.user.contact_form:
path: '/user/{user}/contact'
defaults:
_title: 'Contact'
_controller: '\Drupal\contact\Controller\ContactController::contactPersonalPage'
requirements:
_access_contact_personal_tab: 'TRUE'
user: \d+
তারপরে / কোরআর / মডিউলস / যোগাযোগ / এসআরসি / নিয়ন্ত্রণকারী / কনট্যাক্ট কন্ট্রোলআরএফপি
কলব্যাকে কীভাবে কোনও ফর্ম লোড করবেন তার একটি উদাহরণ দেখতে পাবেন:
public function contactPersonalPage(UserInterface $user) {
// Do not continue if the user does not have an email address configured.
if (!$user->getEmail()) {
throw new NotFoundHttpException();
}
$message = $this->entityManager()->getStorage('contact_message')->create(array(
'contact_form' => 'personal',
'recipient' => $user->id(),
));
$form = $this->entityFormBuilder()->getForm($message);
$form['#title'] = $this->t('Contact @username', array('@username' => $user->getDisplayName()));
$form['#cache']['contexts'][] = 'user.permissions';
return $form;
}
সরাসরি রুট থেকে ফর্ম লোড হচ্ছে:
আপনি যদি _ form ডিফল্ট ব্যবহার করে সরাসরি ফর্মটি লোড করতে চান তবে / কোর / মডুলস / শর্টকাট / শর্টকুট.আরআউটিং.আইএমএল-এর শর্টকাট মডিউলে একটি উদাহরণ রয়েছে
shortcut.set_switch:
path: '/user/{user}/shortcuts'
defaults:
_form: 'Drupal\shortcut\Form\SwitchShortcutSet'
_title: 'Shortcuts'
requirements:
_custom_access: 'Drupal\shortcut\Form\SwitchShortcutSet::checkAccess'
options:
_admin_route: TRUE
user: \d+
এই ক্ষেত্রে, ব্যবহারকারী ফর্মের প্যারামিটার হিসাবে পাস হয়, দেখুন / কোর / মডুলস / শর্টকাট / এসআরসি / ফার্ম / সুইচশোর্টকসেট.পিপি
public function buildForm(array $form, FormStateInterface $form_state, UserInterface $user = NULL) {