Cambiar botones por imagenes. Crear un nuevo subtema parte IV

Pues parece que ahora mismo no se puede cambiar los botones por imágenes. Hay algunas soluciones, pero parece que no son del todo satisfactorias, yo lo máximo que he logrado es que en vez de del botón me muestre un texto, el de "Value" de HTML.

Me he revisado todos estos nodos:
http://drupal.org/node/62647
http://drupal.org/node/153902
http://drupal.org/node/144758
http://drupal.org/node/140387

Pero no he conseguido nada, al final he añadido estas dos funciones a mi template.php

function phptemplate_search_block_form($form) {
  $form['submit']['#theme'] = 'button';
  $form['submit']['#button_type'] = 'image';
  $form['submit']['#attributes'] = array(
    'src' => base_path() . path_to_theme() . '/images/Boton.jpg',
    'alt' => t(Search)
  );
  return drupal_render($form);
}



function phptemplate_button($element) {
  // following lines are copied directly from form.inc core file:
  // Make sure not to overwrite classes
  if (isset($element['#attributes']['class'])) {
    $element['#attributes']['class'] = 'form-'. $element['#button_type'] .' '. $element['#attributes']['class'];
  }
  else {
    $element['#attributes']['class'] = 'form-'. $element['#button_type'];
  }
  // My change is type="' . (($element['#button_type'] == "image") ? 'image' : 'submit' ) . '"
  return '<input type="' . (($element['#button_type'] == "image") ? 'image' : 'submit' ) . '" '. (empty($element['#name']) ? '' : 'name="'. $element['#name'] .'" ')  .'id="'. $element['#id'].'" value="'. check_plain($element['#value']) .'" '. drupal_attributes($element['#attributes']) ." />\n";
}

Un saludo

Oskar

Trackback URL for this post:

http://www.documentados.com/trackback/116

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Allowed HTML tags: <a> <em> <strong> <cite> <strike> <code> <ul> <ol> <li> <dl> <dt> <dd><img><p><div><blockquote>
  • Saltos automáticos de líneas y de párrafos.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

Más información sobre opciones de formato

CAPTCHA
Esto es para evitar spam, y ver que eres humano :)
Image CAPTCHA
Enter the characters shown in the image.