मैंने एडमिन में एक फॉर्म बनाया है।
$form['things'] = array(
'#prefix' => '<div id="things">',
'#suffix' => '</div>',
'#tree' => TRUE,
'#theme' => 'table',
'#header' => array(t('Field Label'), t('Field Name'), t('Location'), t('Stuff')),
'#rows' => array(),
);
मैं फिर प्रत्येक पंक्ति को इसमें शामिल करता हूं:
foreach ($type_fields as $field_name => $attrs) {
$stuff = array(
'#type' => 'textfield',
'#default_value' => $attrs['stuff'],
);
$form['things']['#rows'][] = array(
array('data' => 'label'),
array('data' => $field_name),
array('data' => $field_name),
array('data' => $stuff),
);
}
रूप बहुत अच्छा लग रहा है! लेकिन पहली समस्या यह है कि असाइन किया गया मान #default_value
फॉर्म में दिखाई नहीं दे रहा है। जब मैं इसे #value
सही मान में बदलता हूं तो यह दिखाई देता है। तो मुझे आश्चर्य है कि यह कैसे किया जाना चाहिए? Drupal प्रलेखन कहते #value
रूपों हालांकि यह वास्तव में कैसे मैं इसे समारोह की उम्मीद करेंगे कार्य कर रहा है के साथ नहीं किया जाना चाहिए।
मुख्य समस्या तब होती है जब मैं किसी एक टेक्स्टफिल्ड में कुछ परीक्षण डेटा भरता हूं और इसे प्रस्तुत करता हूं: मुझे अपने _submit
फ़ंक्शन में कोई भी प्रस्तुत मान दिखाई नहीं देता है।
न तो $form
है और न ही $form_state
पाठ खानों में मूल्यों मैं इनपुट के किसी भी शामिल हैं।
मुझे आश्चर्य है कि अगर यह है क्योंकि मैं प्रदान कर रहा हूँ #theme => "table"
? क्या कोई इस मामले में भाग गया है? परिवर्तनों के बारे में कोई भी विचार जो मैं कर सकता हूं वह मुझे उन मानों को देखने की अनुमति देगा जो मैं _submit
फ़ंक्शन में फॉर्म पोस्ट करते समय इनपुट कर रहा हूं ?