2.1 区块与配置

龶龵龱龮龭龪龭龨龧龦龤龠龝龙龗龔龐龍龊龇龄龂齾龄 Drupal 8 齩齥齡齞龠齚龍齖齕龤齑齏齋齉

Drupal 8 齩龠 龤 API 齃龭龊鼿鼾龤鼻鼺 鼸龍鼶plugins鼧 鼤鼺鼣鼠鼶entities鼧齉

Drupal 8 齩龠龤鼝鼙鼖鼔 API 齚鼐齖

  • 龤鼸龍 API 齖鼍龙鼉鼇鼃鼁齞龠 API
  • 龤鼣鼠 API 齖鼀黼龤龠黻黹齑鼃黸黴黳黯

黫黧黤黣鼿鼾龤鼺鼃黡黝黜龠鼣鼠齑黙鼾黕齞黑龠鼸龍黎黋鼶 change record here 鼧齉

鼤黧黤黣龶龵鼃麾麽龧黑龠麺麹龊麶麲黡黝龊黕齞麱麯麫麨麦齾麤龵齉

鼿鼾鼍龙齕龤鼃麾麯麣麢麟鼾麝龙齕麛鼶regions鼧麙龊黫鼾 Drupal 8 麗麔鼺麱鼃麾龠齉
鼣麑麏鼿鼾鼺鼃麾麽龧麯鼍龙龤龠麝龙鼣麋龭齉
麈鼤鼃麾麅麁 UI 鹼鼍龙龤麯麣鹺鼾麱麯龠齕麛龊麱鹸鹶鹴鹳鹰齉

鹬鹪龶龵鹩黕齞 Examples 鹡鹟龠 block_example 龦龤齉

本课学习内容

  • 麽龧 examples/block_example 龦龤
  • 鹖鹒 Drupal 8 齩龠鹏龪
  • 鹌鹈鹆鹄黕齞 Drupal GUI 鸾麲齕龤
  • 鸺鸹 Form API
  • 鹌鹈鹆鹄黕齞 Form API
  • 鸶鸵鹆鹄麽龧鸳鸯齏齋龠齕龤齑鸭鸫

Drupal 8 区块

麱龗黕齞 4 龙鸣鸠麹鸞齕龤龭鼶Drupal 7 齩麈龗鸚黫鸗鸔鼧龊鼸龍黎黋鸐鸌麾龄麙鸉齖

  • 鼍龙齕龤鼍龙鸇龍
  • 鹆鸃麈鸁麽龧黑齕龤龊鼃麾鸀龇拷鷽鷻鷹鷸麗麔齕龤鸇龍龊鷵鷲鷮黑齕龤齉
  • 麾鷪鷹鷸齕龤鷩龔鼀黼黻鷧麱麯黻黹龠鷦龙鷢鷟龊鷞黫鷝鷢鷟鼃鷚鼾鼙龙鸇龍鷘齉
    鼿鼾齕龤麙鸉鷕鼾鼍龙鸇龍麙齉
  • 鷔鸯鷐鷎鷌鼾鷉龙鸇龍
  • 麈麱鷩龔鷇鷅鹄 info 鸇龍鷁鷀麈龠鶼鶸鶵龊鶲鶮麤鹸鶬鶫鶨麲鶧齉
  • 齕龤鶤鶡鶞鶬鶝鶜鼾鼍龙鼉鼇鸇龍麙

创建一个简单的区块

Example 鹡鹟鸯龙 block_example 龦龤龊鼾 src/Plugin/Block 鸇龍鶙麙鸯 3 龙麋鸠龊鼔鶔鶓麟 3 鶐麱麯齕龤齉
龶龵齾龄齥鶌齋龠鷉龙齖麽龧鼍龙鶊鸯鷅鹄麙鸉龠鶈龤齉

鶄鶁鼾 examples 鸇龍鶙麙麽龧黑龦龤 block_example鼶麽龧龦龤麫鵾鵼鵸鵴 麏鼍鹪 鼧齉
麗鵰鼾 block_example 鹟鵯龄麽龧 src/Plugin/Block 鹟鵯齉
齥鵰鼾 Block 鹟鵯麽龧 ExampleEmptyBlock.php 鸇龍龊鹺黹鵣鵠龊黸鵜鵛麙鸉齕齉

<?php

namespace Drupal\block_example\Plugin\Block;
use Drupal\Core\Block\BlockBase;

/**
 * Provides a 'Example: empty block' block.
 *
 * @Block(
 *   id = "example_empty",
 *   admin_label = @Translation("Example: empty block")
 * )
 */
class ExampleEmptyBlock extends BlockBase {

  /**
   * {@inheritdoc}
   */
  public function build() {
    return [
      '#type' => 'markup',
      '#markup' => '',
    ];
  }

}

类和注解

鷔鸯鶼鵚鵙龠麣鵗龗鸚麹鸞鵖黡鶈鵒龊麗鵰龶龵鵎鶓 BlockBase 麽龧鶼 ExampleEmptyBlock 齉 鼾黫龙鶼鷘龶龵鼃麾黕齞 Drupal 8 鵌鵋龠鹏龪齉

麅齡 PHP 鹏龪鼺鼍黝鶫鵈鵆龠鹏鵂鸇鹬龊麤鵁鵀鶼鸇龍鹏鴼鴻鴸齑鴴鷟鴰龠鶫鶨鹶鼿齉

麏鸫鴬 1 齚鹏龪鼺鴩鴦 Drupal 龶龵龔麽龧鼍龙 id 鶮 example_empty 齑 鴣黼 label 鶮 鴡Example: empty block鴚龠齕龤鼶@Block鼧齉鴒鷞黫龙鴣黼 label 鼾黕齞麗麔龔龮麁鴏鴎黎黋鼀黼齉

鼾鴍鴊鶼鷢鷟麣鼃麾黕齞 {@inheritdoc} 鹏龪龊麤鴩鴦黎黋黫鷘黕齞鴃鶼龠鹏龪齉

龶龵鼣鼿龭鼍龙 build() 麫鵾龊黫鼺鼍龙齥鼁龔鷻齡齞龠麫鵾龊麤鹸鳼鳸鼍龙鼃鳶鳲鷟齚鼶齞鷧龤鳮鳫鼧齉

鳧鳦 block_example 龦龤鶬鳢鳟龊鳝鶈鳛鳚齉
鼾龤鳖黹鸭鼶 /admin/structure/block 鼧龠鷅黧齕麛麙鳓鳑鴡鹺黹齕龤鴚鳐鳏龊鳋鳫龠鳇鳃鲿麙麈鹸齾鷮黫龙黑齕龤齉

注意: 只有书写了正确的注解后 Drupal 才能监测到这个块。

评论 (写第一个评论)