Saltar al contenido

Drupal: redirigir al usuario después de agregar/editar el nodo

Ya no tienes que investigar más por todo internet ya que llegaste al lugar indicado, poseemos la respuesta que deseas pero sin complicarte.

Solución:

Puedes usar hook_form_alter para agregar un controlador de envío personalizado donde puede establecer la ruta de redirección.

Consulte la FAPI para obtener más detalles sobre la redirección de formularios.

Puede crear una regla que redirija al usuario a cualquier página cuando crea o edita un tipo de contenido específico. Cuando agregue una regla, seleccione “Después de crear contenido nuevo”, agregue también una condición de “Contenido tiene tipo”. La sección You Do le dará la opción de redirigir a un usuario a cualquier página que desee.

Para una redirección después de editar un nodo, simplemente cree una nueva regla y seleccione “Después de actualizar el contenido existente” como su primera opción.

Al hacer esto, asegúrese de desactivar también un posible destino existente que normalmente se agrega a la URL cuando hace clic en el botón de edición para editar un nodo existente.

Reemplazar article en MYMODULE_form_article_node_form_alter con el nombre de la máquina de su tipo de contenido.

/**
 * Implements hook_form_BASE_FORM_ID_alter().
 */
function MYMODULE_form_article_node_form_alter(&$form, &$form_state, $form_id) 

  $form['actions']['submit']['#submit'][] = '_MYMODULE_node_form_redirect';


/**
 * Submit callback.
 */
function _MYMODULE_node_form_redirect($form, &$form_state) 

  // Unset destination first.
  unset($_GET['destination']);
  unset($_REQUEST['edit']['destination']);

  $form_state['redirect'] = 'FOO/BAR';

Sección de Reseñas y Valoraciones

Si te apasiona este mundo, tienes la libertad de dejar un enunciado acerca de qué te ha impresionado de este ensayo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *