drupal - 自定义 block 在 Drupal 8 中不起作用

标签 drupal drupal-7 drupal-8

我正在 Drupal 8 beta 9 中构建一个带有自定义 block 的模块。当我在我的模块中创建一个 block 时,我将它放在 src\Plugin\Block 目录中。该 block 显示在“ block 结构”列表中,但是当我按链接添加它时,没有任何反应。 我检查了我的代码 10 次,试图将我的文件放入核心模块的目录(显然仅用于测试),试图将一些核心 block 文件放入我的目录,以复制粘贴代码。这些都不起作用。这是我的 block 文件的代码:

<?php
/**
 * @file
 * Contains \Drupal\internetdevels\Plugin\Block\TestBlock.
 */

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

/**
 * Provides 'my custom' block.
 *
 * @Block(
 *   id = "my_custom_block",
 *   admin_label = @Translation("My Custom Block"),
 *   category = @Translation("System"),
 * )
 */
class TestBlock extends BlockBase {

  /**
   * {@inheritdoc}
   */
  public function build() {
    return array('#markup' => 'hello world');
  }

}

最佳答案

在 D8 中,禁用的 block 不再自动出现在管理/结构/ block 上的禁用下。首先,您必须单击禁用区域的“放置 block ”按钮。然后您可以从自定义模块中选择 block 。

关于drupal - 自定义 block 在 Drupal 8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29490768/

相关文章:

php - Drupal 8 搜索 api - 如何获取内容的 url

forms - Drupal 8 自定义表单错误

css - 德鲁帕尔 6 : defining js and css for particular pages

drupal - 从drupal 7的登录页面中删除创建新帐户选项卡

php - Drupal 8 - 更改节点显示设计

drupal - Ubercart 和 Drupal 7 - hook_add_to_cart

php - fatal error : Allowed memory size of 67108864 bytes exhausted (tried to allocate 39 bytes) in xxx/xxx/xxx/xxx

php - 在 Drupal 中如何获取 tnid 或翻译节点的节点 ID?

mysql - Wordpress 和 Drupal SSO/单点登录

php - Drupal View 自动过滤器