Muchas veces nos puede hacer falta cambiar el formulario de contacto del componente que no facilita Joomla ( Contact ).
Recordar que es hacer overwrite de este componente en nuestra plantilla, los ficheros que encontramos Nuestrotemplate/html/com_contact/contact/default_form.php
Si en nuestra plantilla no encuentras esos ficheros, entonces... crea ovewrite de ellos.
- El cliente nos pide que no pongamos el campo asunto y que pongamos el campo telefono.
Esto ya lo explique como hacerlo en otra entrada.
- Tambien nos pide que pongamos placeholder a los campos indicando ejemplo del contenido que tiene poner.
Despues buscar informacion, encontramos:
- API 3.8 Joomla de Clases JForm:
Donde vemos que podemos añadir attributos al los campos del formulario, sin tener que tocar mucho código.
Con el método getFieldAttribute la clase que ya tenemos cargada en esa vista ($this->form) podemos añadir un atributo el campo.
El problema surge que cuando intentamos poner placeholder, ya que layout de la libreria de joomla del filed text , no lo entiendo o no la pone...
Encontramos buscando mas informacion encontramos:
- Documentacion field text de joomla
Ahí nos damos cuenta que el atributo para el xml es 'hint' en ve placeholder
Demomento con el cambio nombre campo y css tenemos esto:
Tenemos que añadir el atributo hint, que es el que utiliza joomla cuando monta el input para poner como placeholder.
$this->form->setFieldAttribute('contact_name','hint','texto_placeholder');
Entonces cuando mostramos el campo con :
echo $this->form->getInput('contact_name');
Ya nos muestra "texto_placeholder" en el input
Resultado :
Otras formas:
- jQuery añadiendo el placerholder a cada campo.
- Overwrite del xml de los campos, aunque nunca lo hice, creo que funcionaría.