I came across this problem while working on #2731, where I needed to target some form elements in CSS. This turned out to not be as easy as expected, because the names of the form elements were too generic (like label
, delta
, and description
). The requirement was to add more specific classes to the wrapper <div>
s of the form elements.
I will explain in code examples, but instead of using the code in that specific use case, I will use more simplified and generic examples. So say you have this form definition:
$form['parent'] = array(
'#parents' => array(),
);
$form['parent']['checkbox'] = array(
'#type' => 'checkbox',
'#title' => t('Do something'),
);
$form['parent']['textfield'] = array(
'#type' => 'textfield',
'#title' => t('Enter some text'),
);
This will produce the following code:
<form class="some-form" id="some-form" >
<div>
<div class="form-item form-type-checkbox form-item-checkbox">
<label class="option" for="edit-checkbox">Do something </label>
<input type="checkbox" id="edit-checkbox" name="checkbox" class="form-checkbox">
</div>
<div class="form-item form-type-textfield form-item-textfield" >
<label for="edit-textfield">Enter some text </label>
<input type="text" id="edit-textfield" name="textfield" class="form-text">
</div>
</div>
</form>
...
Recent comments
Welcome to Backdrop! For your setup, you’ll want to create a subtheme of Bootstrap5 Lite itself; the Bootswatch styles (like Cerulean) are just presets that B5 Lite loads, and you can “lock in”...
Basic Theme designing questions, using Bootstrap5 Lite
Hi Rob, Welcome to Backdrop! Here’s a quick overview: Subtheming Bootswatch: You should create your subtheme based on Bootstrap5 Lite, not directly on a Bootswatch style....
Basic Theme designing questions, using Bootstrap5 Lite
Hi Rolf, This happens because CKEditor saves absolute or semi-absolute paths in the HTML instead of using Backdrop’s file stream wrappers (like public://). When you move your site...
Losing link to embedded pictures when moving my installation