ड्रुपल 8 में डिफ़ॉल्ट रूप से कस्टम फ़ील्डसेट कैसे ढह जाता है


13

Drupal 7 में, फ़ील्डसेट को समाप्‍त करने या न करने, और इस फॉर्म एलिमेंट (डिलेप्‍ड, या अनसॉलप्‍ड) की डिफ़ॉल्ट स्थिति को प्रतिबंधित करने का विकल्‍प था। उदाहरण:

$form['contact_data'] = array(
        '#title' => t("Contact data"),
        '#type' => 'fieldset',
        '#collapsible' => TRUE,
        '#collapsed' => FALSE,
);

अब, Drupal 8 में मैं attributtes नहीं मिल रहा है #collapsibleऔर #collapsedमें Drupal\Core\Render\Element\Fieldset। फील्ड्स तत्व के आधिकारिक प्रलेखन में किसी भी नए तत्व का उल्लेख नहीं किया गया है, जिसे फील्ड्स तत्व को प्रतिस्थापित करना चाहिए।

इसके अलावा Drupal 8 के लिए Form API तत्व ओवरव्यू नहीं है , जैसे Drupal 7 के लिए। आपको कोड में सभी रेंडर एलिमेंट की परिभाषा को मैन्युअल रूप से खोजना होगा, जो कि अधिक समय लेने वाला हो (विशेषकर तब जब आप एलिमेंट्स ओवरव्यू देखना चाहेंगे और उनकी तुलना करेंगे) ।

जवाबों:


26

सभी बंधनेवाला फ़ील्ड को HTML5 विवरण तत्वों के साथ बदल दिया गया है।

फील्ड्स और लेगैंड शैली के लिए बहुत कठिन हैं और इसकी ड्रुपल 8 के साथ उपयोग करने की अनुशंसा नहीं की जाती है। इसके बजाय इसके क्रॉस ब्राउज़र तरीके से प्रतिस्थापित किया गया, जो HTML5 विवरण और सारांश टैग है।

'#type' => 'details'

https://www.drupal.org/node/1852020

द्रुपाल al

$form['advanced'] = array(
  '#type' => 'fieldset',
  '#title' => t('Advanced settings'),
  '#collapsible' => TRUE,
  '#collapsed' => FALSE,
  '#description' => t('Lorem ipsum.'),
);

द्रुपाल al

$form['advanced'] = array(
  '#type' => 'details',
  '#title' => t('Advanced settings'),
  '#description' => t('Lorem ipsum.'),
  '#open' => TRUE, // Controls the HTML5 'open' attribute. Defaults to FALSE.
);

2
उत्तर के लिए धन्यवाद। लेकिन फिर, मैं इस तथ्य से बहुत निराश हूं, कि यह (छोटा नहीं) परिवर्तन केवल कुछ "परिवर्तन रिकॉर्ड" पृष्ठ पर वर्णित है और आधिकारिक प्रलेखन पृष्ठों पर अपडेट नहीं किया गया है ... देखें: Online documentation: Not done...
जुराज नेमेक

1
परिवर्तन रिकॉर्ड देखने के लिए एकदम सही जगह है कि X कैसे Druapl में बदल गया है। 8. वे आसानी से खोजे जा सकते हैं और हमेशा उदाहरण के पहले / बाद में होते हैं। कोड और प्रलेखन दोनों ही ज्यादातर लोगों के खाली समय में लिखे जाते हैं। शिकायत न करें, इसे सुधारने में मदद करें।
बर्दिर

@Berdir हां, मुझे पता है कि खाली समय में लिखित रूप में प्रलेखन और मैं इसकी सराहना करता हूं :) लेकिन व्यक्तिगत रूप से मुझे नहीं लगता, कि परिवर्तन रिकॉर्ड आसानी से खोजे जाने योग्य हैं (Google को छोड़कर)। डेवलपर के रूप में प्राथमिक, आप दस्तावेज़ीकरण (या एपीआई प्रलेखन) में खोज करते हैं, इसलिए विशिष्ट परिवर्तन रिकॉर्ड के लिए बस सरल लिंक संदर्भ पर्याप्त होगा (और यह परिवर्तन रिकॉर्ड में उन उदाहरणों को लिखने के रूप में समय लेने वाला नहीं है)। इसके अलावा, मुझे स्वीकार करना होगा कि परिवर्तन रिकॉर्ड में कोड उदाहरण बहुत अच्छे हैं।
जुराज नेमेक

आप ड्रुपल 8 फाइलों में इस कोड को कहां से एड करते हैं?
डेविस

0

HTML का संग्रह करने के लिए HereDoc संकेतन का उपयोग करके उदाहरण:

$desc_html = <<<HTML
<p>
  <strong>Put the HTML to be displayed when open in here.</strong>
<p>
HTML;

$form['advanced'] = array(
  '#type' => 'details',
  '#title' => t('Advanced settings'),
  '#description' => t($desc_html),
  '#open' => TRUE, // Controls the HTML5 'open' attribute. Defaults to FALSE.
);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.