Hướng dẫn thay đổi Delete buttons thành links trong Drupal 8

Hướng dẫn thay đổi Delete buttons thành links trong Drupal 8

In Drupal 8 delete buttons switched to links instead of submit buttons.

Main reasons for this switch:

  1. In most cases those submit buttons were just triggering a redirection to a confirm form.
  2. Because of the fact that they were submit buttons the form validation (server-side and client-side) was being triggered, which didn't make sense.

D7

<?php
function myform($form, &$form_state) {
  $form = array();
  // ...
  // The rest of form declaration.
  // ...
  $form['actions']['delete'] = array(
    '#type' => 'submit',
    '#value' => t('Delete'),
    '#submit' => array('myform_delete_submit'),
  );
  return $form;
}
function myform_delete_submit($form, &$form_state) {
  $form_state['redirect'] = 'my/path/delete';
}
?>

D8

<?php
use Drupal\Core\Form\FormBase;
class MyForm extends FormBase {
  public function buildForm(array $form, array &$form_state) {
    $form = array();
    // ...
    // The rest of form declaration.
    // ...
    $form['actions']['delete'] = array(
      '#type' => 'link',
      '#title' => $this->t('Delete'),
      '#attributes' => array(
        'class' => array('button', 'button--danger'),
      ),
      '#route_name' => 'my.delete_route',
    );
    return parent::buildForm($form, $form_state);
  }
}
?>
Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Sony Ericsson Xperia Play Review

Sony Ericsson Xperia Play Review

Sony Ericsson puts a new wave on conventional smartphone features especially for gaming enthusiasts – the Sony Ericsson Xperia Play. It is the first-ever PlayStation phone in the Android world.

Cài đặt Apache, MySQL, phpMyAdmin trên VPS CentOS

Cài đặt Apache, MySQL, phpMyAdmin trên VPS CentOS

Đăng nhập vào VPS sử dụng quyền root.

Nga lo kinh tế không chịu nổi vì dịch COVID-19

Số người nhiễm COVID-19 ở Nga chính thức vượt qua Trung Quốc trên 87.000

Theo RIA Novosti, số người nhiễm COVID-19 ở Nga chính thức vượt qua Trung Quốc hôm đầu tuần này (trên 87.000 so với gần 83.000 ở Trung Quốc), xếp thứ 9 thế giới về quy mô.

Công ty diệt chuột T&C

 

Diet con trung