Descripción
Este código te permitirá modificar tus formularios personalizados, utilizando el módulo Devel.
Instrucciones
Para modificar un formulario debemos seguir los siguientes pasos...
1.- Creamos nuestro módulo con los archivos "cambiar_formulario.info.yml" y "cambiar_formulario.module"
2.- Instalaremos los módulos Devel y Search Kint para facilitar tareas de desarrollo.
3.- Dentro del archivo cambiar_formulario.module, pondremos la función hook_form_alter
Código
/* Modificaciones formulario creacion nodo*/
function node_form_change_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
ksm($form); //Nos permitirá acceder a todos los elementos del formulario
ksm($form_state); //Nos permitirá acceder a los valores guardados después de hacer input al formulario
dpm($form_id); //Nos devolverá el ID del formulario para poder utlizarlo como filtro y no afecte a los demás formularios.
if( $form_id == 'node_article_form' ) { //Sólo afectará la formulario de creación del artículo
//Agrega placeholder al campo título
$form[ 'title' ][ 'widget' ] [ '0' ][ 'value' ][ '#attributes' ][ 'placeholder' ] = "Pon un título interesante";
//Agrega placeholder al campo personalizado
$form['field_campo_personalizado']['widget']['0']['value']['#attributes']['placeholder'] = "Este es un campo personalizado";
//Agrega una clase al campo personalizado
$form['field_campo_personalizado']['widget']['0']['value']['#attributes']['class'][] = "miclase-custom";
//Agrega estilos en línea al campo personalizado
$form['field_campo_personalizado']['widget']['0']['value']['#attributes']['style'] = "background: yellow; height: 60px; border: 2px solid greeen; color:#fff;";
//Agrega o modifica la descripción en línea al campo personalizado
$form['field_campo_personalizado']['widget']['0']['value']['#description'] = "Descripción modificada";
//Convierte en REQUERIDO al campo personalizado
$form['field_campo_personalizado']['widget']['0']['value']['#required'] = true;
}
}