Je souhaite afficher un tableau simple sous un champ de formulaire dans le cadre du texte d'aide pour ce champ (champ de fichier pour être exact). Suis-je totalement mental ou n'y a-t-il vraiment aucun moyen facile de changer les balises html autorisées pour cette zone de texte? Pour le moment, j'ai affiché:
Instructions to present to the user below this field on the editing form.
Allowed HTML tags: a b big code del em i ins pre q small span strong sub sup tt ol ul li p br img
S'il n'y a pas de moyen facile, quelle est la prochaine façon la plus simple de le faire?
MISE À JOUR:
Clive a trouvé un excellent moyen de le faire ci-dessous avec un module personnalisé. Vous pouvez également ajouter à cela à l'aide de ctools pour rendre le texte d'aide réductible comme suit:
// Implement hook_field_widget_form_alter()
function MYMODULE_field_widget_form_alter(&$element, &$form_state, &$context) {
// If some condition is matched based on the element provided...
if (isset($element[0]) && $element[0]['#field_name'] == 'field_test') {
// Alter the description using your more permissive set of tags
$reworked = filter_xss($context['instance']['description'], _MYMODULE_field_filter_xss_allowed_tags());
$element[0]['#description'] = theme('ctools_collapsible', array('handle' => 'Help text', 'content' => $reworked, 'collapsed' => TRUE));
}
}
// Provide a more permissive set of tags to be used with filter_xss()
function _MYMODULE_field_filter_xss_allowed_tags() {
// Merge the new set of allowed tags with the less permissive defaults
$new_tags = array('table', 'thead', 'tbody', 'tfoot', 'tr', 'th', 'td');
return array_merge(_field_filter_xss_allowed_tags(), $new_tags);
}