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
Worked like a charm! Exactly what I envisioned... now I can edit the ruby text right in the editor, sweet:) Thank you! For those who may have a similar issue, try TinyMCE, create a new "text...
Specific tags to work in CKEditor 5
Yes, you can use TinyMCE on some content and CKEditor5 in others. There is no problem having both enabled on a system.
Specific tags to work in CKEditor 5
Thank you both for your suggestions. Yeah, I'll give TinyMCE a try... better than trying to fight that behemoth CKEditor 5. The TinyMCE page says it can "co-exist with CKEditor" which is...
Specific tags to work in CKEditor 5