美文网首页
处理block的配置表单

处理block的配置表单

作者: liboxiang | 来源:发表于2019-02-19 21:00 被阅读3次

官网:https://www.drupal.org/docs/8/creating-custom-modules/add-a-form-to-the-block-configuration

代码:

<?php

namespace Drupal\first_form\Plugin\Block;

use Drupal\Core\Block\BlockBase;
use Drupal\Core\Block\BlockPluginInterface;
use Drupal\Core\Form\FormStateInterface;

/**
 * Provides a 'Hello' Block.
 *
 * @Block(
 *   id = "first_form_block",
 *   admin_label = @Translation("first form block"),
 *   category = @Translation("First Form World"),
 * )
 */
class FirstFormBlock extends BlockBase {

  /**
   * {@inheritdoc}
   */
  public function build() {
     
    $config = $this->getConfiguration();
  
    if (isset($config['first_form_block_setting']) && !empty($config['first_form_block_setting'])) {
      $name = $config['first_form_block_setting'];
    }
    else {
      $name = $this->t('to no one');
    }
  
    return array(
      '#markup' => $this->t('Hello @name!', array('@name' => $name)),
    );
  }

    /**
   * {@inheritdoc}
   */
  public function blockForm($form, FormStateInterface $form_state) {
    $form = parent::blockForm($form, $form_state);

    $config = $this->getConfiguration();

    $form['first_form_block_setting'] = array(
      '#type' => 'textfield',
      '#title' => $this->t('Who'),
      '#description' => $this->t('Who do you want to say hello to?'),
      '#default_value' => isset($config['first_form_block_setting']) ? $config['first_form_block_setting'] : '',
    );

    return $form;
  }
  
  /**
   * {@inheritdoc}
   */
  public function blockSubmit($form, FormStateInterface $form_state) {
    parent::blockSubmit($form, $form_state);
    $values = $form_state->getValues();
    $this->configuration['first_form_block_setting'] = $values['first_form_block_setting'];
  }
}

相关文章

  • 处理block的配置表单

    官网:https://www.drupal.org/docs/8/creating-custom-modules/...

  • 网易微专业-DOM编程艺术 表单操作

    构建表单 → 服务器处理 → 配置表单 1、内容元素、验证、提交 2、元素⑴form①name②autocomp...

  • bootstrap之form表单

    表单布局 垂直表单(默认) 内联表单 水平表单 垂直表单或基本表单(display:block;) 创建基本表单的...

  • DOM 编程艺术——表单操作

    1.表单元素 编写表单的三个步骤:构建表单,服务器端处理,配置表单 以披萨预定表单为例 构建完表单,需要服务器端提...

  • 【工作日报】7.28

    1.学习了安卓表单配置 安卓表单配置工具是为了方便移动端的表单配置,配置完成表单后下载,将其放到文书的CisSer...

  • 酒店分房项目API

    会务酒店分房工具API 新建工具(包含表单配置) 查询工具内容(包含表单配置) 更新工具内容(包含表单配置) 删除...

  • 《Flask Web开发实战》—— 表单

    Flask关于表单处理的部分,使用Flask-WTF库,首先安装 1. 表单的基本处理 Flask中表单的基本处理...

  • js事件入门(4)

    4.表单事件 表单事件处理主要用来验证表单,可以处理用户在表单上所做的任何操作。 #4.1.onsubmit事件 ...

  • 登录功能

    登录功能 布局处理 页面分为上下两个部分,顶部为导航,底部为登录表单首先我们创建登录组件,然后配置路由 配置路由,...

  • 表单 - 提交按钮

    定义用于向表单处理程序(form-handler)提交表单的按钮。表单处理程序通常是包含用来处理输入数据的脚本的服...

网友评论

      本文标题:处理block的配置表单

      本文链接:https://www.haomeiwen.com/subject/zokjpxtx.html