drupal forms – API de formularios de Drupal cómo obtener el inicio de sesión de grado en el botón de envío

Pregunta:

Me gustaría tener un botón de envío con el valor "° C". Pero cuando copio y pego el signo de grado, obtengo un valor vacío. Cuando pruebo el código HTML para el signo de grado ( ° ), se escapa, por lo que obtengo ° C.

Este es mi elemento de botón de envío en mi función hook_form:

$form['wrapper']['F'] = array(
    '#type' => 'submit',
    '#name' => 'F',
    '#value' => '°F',
    //'#value' => '° F',
    //'#value' => '° F',
    '#attributes' => array('id' => 'fahrenheit-button'),
    '#weight' => 20,
  );

¿Algunas ideas? Gracias Tomas

Respuesta:

Los botones en Drupal por defecto son generados por la función de tema theme_button() que usa drupal_attributes() para manejar todos los atributos del botón que siempre escapa del valor de un atributo usando check_plain() .

Visite api.drupal.org/api/drupal/includes%21form.inc/function/theme_button/7 para la función theme_button() y haga clic en la sección Código en el nombre de una función para ver qué hace.

Creo que hay dos posibilidades:

  1. Escribe su propia implementación de theme_button() : copie la función original, péguela en su archivo template.php y YOUR_THEME_button() nombre a algo como YOUR_THEME_button() ;
  2. O simplemente use el carácter Unicode desnudo como lo hizo en su pregunta. Leí en stackoverflow.com/q/3627720/328272 que esto no funciona en Windows XP, pero lo probé con éxito en IE7 e IE8 en XP usando browserstack.com .

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım