মধ্যে পার্থক্য কি drupal_get_form()
এবং drupal_retrieve_form()
? কেউ পার্থক্য ব্যাখ্যা করতে পারেন? আমি এপিআইয়ের দিকে নজর দিই, তবে বর্ণনাটি আমার কাছে অনুরূপ।
মধ্যে পার্থক্য কি drupal_get_form()
এবং drupal_retrieve_form()
? কেউ পার্থক্য ব্যাখ্যা করতে পারেন? আমি এপিআইয়ের দিকে নজর দিই, তবে বর্ণনাটি আমার কাছে অনুরূপ।
উত্তর:
পার্থক্যটি হ'ল drupal_get_form()
মডিউলগুলির জন্য স্বয়ংক্রিয়ভাবে রেন্ডার এইচটিএমএল ফর্মটি পুনরুদ্ধার, প্রক্রিয়াকরণ এবং প্রদর্শন পরিচালনা করে এবং ফর্মকে drupal_retrieve_form()
সংজ্ঞায়িত স্ট্রাকচারযুক্ত অ্যারে প্রদান করে।
drupal_get_form()
form_get_cache () সহ ফর্মটি ক্যাশে উপস্থিত রয়েছে কিনা তা প্রথমে পরীক্ষা করে ; যদি এটি উপস্থিত না থাকে তবে এটি ড্রপাল_রেট্রিভ_ফর্ম () এবং ড্রপাল_প্রিপারে_ফর্ম () বলে ।
drupal_get_form()
কলকে ড্রুপাল_প্রসেস_ফর্ম () বলে , যা ফাংশন যা ড্রপাল_ডিয়ালিটি_ফর্ম () কল করে এবং যা ফর্ম_এক্সেকিউট_হ্যান্ডলার () সহ জমা হ্যান্ডলারের অনুরোধ জানায় ।
রেন্ডারিংটি সম্পন্ন হয়েছে drupal_process_form()
, যা ফর্ম_বিল্ডার () বলে ।
বেশিরভাগ ক্ষেত্রে, drupal_get_form()
ব্যবহার করা ফাংশন যেমন নীচের কোডে থাকে।
function node_menu() {
$items['admin/content'] = array(
'title' => 'Content',
'description' => 'Find and manage content.',
'page callback' => 'drupal_get_form',
'page arguments' => array('node_admin_content'),
'access arguments' => array('access content overview'),
'weight' => -10,
'file' => 'node.admin.inc',
);
// …
return $items;
}
আমি কেবলমাত্র মডিউলটি দেখতে পেয়েছি যে drupal_retrieve_form()
সরাসরি কল করছে সেটি হ'ল মলম_মোড্রেট () এর মলম মডিউল , যা এটি ফর্ম জমা দেওয়ার জন্য এটি স্বয়ংক্রিয়ভাবে ব্যবহার করে। কোডটি ড্রুপাল_ফর্ম_সাম্বিট () ব্যবহার করতে পারে , তবে (একটি মন্তব্য হিসাবে), "প্রোগ্রাম্যাটিক ফর্ম জমাগুলি স্বয়ংক্রিয়ভাবে প্রাথমিক ফর্ম জমা বোতাম / ক্রিয়া ব্যবহার করতে সক্ষম নয়, তাই আমাদের সাদৃশ্য থাকা দরকার need drupal_form_submit()
"
$form_id = $form_info['delete form'];
$form_state = form_state_defaults();
// We assume that all delete confirmation forms take the fully loaded
// entity as (only) argument.
$messages[] = "Attempt to load $form_info[entity] entity via entity_load().";
$entities = entity_load($data->entity, array($data->id));
$form_state['build_info']['args'][] = $entities[$data->id];
$form = drupal_retrieve_form($form_id, $form_state);
$form_state['values'] = array();
$form_state['values']['mollom']['feedback'] = '';
// Take over the primary submit button of confirm_form().
$form_state['values']['op'] = $form['actions']['submit']['#value'];
$form_state['input'] = $form_state['values'];
$form_state['programmed'] = TRUE;
// Programmed forms are always submitted.
$form_state['submitted'] = TRUE;
// Reset form validation.
$form_state['must_validate'] = TRUE;
form_clear_error();
drupal_prepare_form($form_id, $form, $form_state);
drupal_process_form($form_id, $form, $form_state);
$result = $form_state['executed'];
drupal_retrieve_form()
আপনার কোডটি$form_state
রেফারেন্স দ্বারা পাস হওয়ার সাথে সাথে আপডেটটি অ্যাক্সেসের অনুমতি দেয় তবেdrupal_get_form()
কেবল$form
রাষ্ট্রটি নয়, এটি ফিরিয়ে দিন ।