2010-05-18 8 views
5

मेरे पास रेडियो बटन का यह समूह है जिसमें प्रत्येक व्यक्तिगत बटन की शैली की विशेषता के माध्यम से अपनी स्थिति निर्धारित होती है। मैं ड्रूपल फॉर्म एपीआई का उपयोग कर इसे कैसे संग्रहीत कर सकता हूं। मैंने पाया कि पूरे रूप में स्टाइल कैसे करें, बल्कि समूह के भीतर व्यक्तिगत नियंत्रण के रूप में नहीं।ड्रूपल फॉर्म में अलग-अलग रेडियो बटन स्टाइलिंग

$form['base_location'] = array(
    '#type' => 'radios', 
    '#title' => t('base location'), 
    '#default_value' => variable_get('search_type', 0), 
    '#options' => array(
'0'=>t('District'), 
'1'=>t('MRT'), 
'2'=>t('Address')), 
    '#description' => t('base location'), 

मैं # प्रकार => रेडियो अस्तित्व के बारे में पता कर रहा हूँ -

<input type="radio" name="base_location" checked="checked" value="0" style="margin-left:70px;float:left;"/><span style="float:left;">District</span> 
    <input type="radio" name="base_location" value="1" style="margin-left:50px;float:left;"/><span style="float:left;">MRT</span> 
    <input type="radio" name="base_location" value="2" style="margin-left:60px;float:left;"/><span style="float:left;">Address</span> 

और यह Drupal कोड मैं पर अटक कर रहा हूँ है - यहाँ है कैसे की तरह मेरे html कोड दिया गया है। हालांकि, मुझे नहीं पता कि इस संबंध में मेरे सभी रेडियो बटनों को एक साथ कैसे समूहित किया जाए। अगर मैं उन सभी के लिए एक ही सरणी कुंजी का उपयोग करता हूं, तो वे एक दूसरे को टक्कर देंगे। यदि मैं नहीं करता, तो उन्हें एक ही समूह के हिस्से के रूप में नहीं देखा जाता है। मैं पहले से आपको धन्यवाद करता हूँ।

उत्तर

2

प्रत्येक रेडियो तत्व इसकी अनूठी आईडी होगी जिसका उपयोग आप उचित सीएसएस लागू करने के लिए कर सकते हैं।

उदाहरण तुम इतनी तरह

$form['base_location'] = array(
    '#type' => 'radios', 
    '#title' => t('base location'), 
    '#default_value' => variable_get('search_type', 0), 
    '#options' => array(
    '0'=>t('District'), 
    '1'=>t('MRT'), 
    '2'=>t('Address')), 
    '#description' => t('base location'), 
); 

चाहिए उत्पादन मार्कअप प्रदान की:

<div id="base-location-0-wrapper" class="form-item"> 
    <label for="base-location-0" class="option"><input type="radio" class="form-radio" value="0" name="base_location" id="base-location-0"> District</label> 
</div> 
<div id="base-location-1-wrapper" class="form-item"> 
    <label for="base-location-1" class="option"><input type="radio" class="form-radio" value="1" name="base_location" id="base-location-1"> MRT</label> 
</div> 
<div id="base-location-2-wrapper" class="form-item"> 
    <label for="base-location-2" class="option"><input type="radio" class="form-radio" value="2" name="base_location" id="base-location-2"> Address</label> 
</div> 

निम्नलिखित सीएसएस लागू करें और आप सेट किया जाना चाहिए।

#base-location-0-wrapper, 
    #base-location-1-wrapper, 
    #base-location-2-wrapper { 
    display:inline; 
    margin-left:50px; 
    } 
+0

धन्यवाद। – Andrew

+0

कभी-कभी किसी आईडी को छोड़कर वातावरण के बीच विश्वसनीय नहीं होता है। उदाहरण के लिए यदि रेडियो वर्गीकरण शर्तों से उत्पन्न होते हैं, तो आप -tid- प्राप्त कर सकते हैं जिसे विश्वसनीय रूप से उपयोग नहीं किया जा सकता है। –

1

उत्तर आपके पास पहले से मौजूद HTML के साथ सीएसएस का उपयोग करना है। ऐसा लगता है कि आप रेडियो बटन के डिस्प्ले को 'इनलाइन' में 10px मार्जिन के साथ बदलना चाहते हैं, जो आप कर सकते हैं। आप Drupal 6.x फार्म एपीआई और #type=>radios (http://api.drupal.org/api/function/theme_radios/6) उपयोग कर रहे हैं (और अगर आप एक fieldset के भीतर अलग तत्वों में रेडियो को तोड़ने की थी, वे अब एक दूसरे के साथ बातचीत चाहते हैं।)

+0

मुझे लगता है मैं मार्कअप प्रकार के साथ अटक कर रहा हूँ और इसी एचटीएमएल कोड लिखते हैं। लेकिन मुझे यकीन नहीं है कि क्या ड्रूपल उन्हें अभी भी नियंत्रण के रूप में देखेगा। क्या ऐसा? – Andrew

+0

आप 'मार्कअप प्रकार' के साथ क्यों फंस गए हैं? ड्रूपल के साथ फॉर्म आउटपुट करें और इसे सीएसएस के साथ स्टाइल करें। समस्या कहां है? – lazysoundsystem

+0

समस्या यह है कि मुझे प्रत्येक तत्व के लिए ड्रोपल जेनरेट आईडी नहीं पता था और, मैं जो भी चाहता हूं उसे संग्रहित करने का एकमात्र तरीका यह है कि आउटपुट मार्कअप के रूप में है और प्रत्येक तत्व के लिए कक्षा या सेट शैली असाइन की गई है । लेकिन, अब यह स्पष्ट है; मुझे बस इतना करना है - ड्रूपल जेनरेटेड आईडी के साथ सीएसएस शैली को परिभाषित करें। फिर भी धन्यवाद। समाधान के लिए – Andrew

संबंधित मुद्दे