我创建了一个自定义模块并分配了一个树枝模板文件,但未显示。 下面是文件和文件夹结构
1。workbuster.module文件的代码如下
timer.schedule(TimeUnit.MINUTES.toMillis(5)) {
refreshImages(knownPosts, knownFiles, httpClient)
}
2。 WorkbusterBlock文件的代码如下
<?php
/**
* Implements hook_theme().
*/
function workbuster_theme()
{
return array(
'block_workbuster' => array(
'variables' => array('title' => NULL, 'description' => NULL),
'template' => 'block--workbuster-custom',
),
);
}
3。 block--workbuster-custom.html.twig文件的代码如下
<?php
/**
* @file
*/
namespace Drupal\workbuster\Plugin\Block;
use Drupal\Core\Block\BlockBase;
/**
* Provides a 'Workbuster' Block
* @Block(
* id = "block_workbuster",
* admin_label = @Translation("Workbuster block"),
* )
*/
class WorkbusterBlock extends BlockBase {
/**
* {@inheritdoc}
*/
public function build() {
return array(
'#title' => 'Workbuster',
'#description' => 'Workbuster'
);
}
}
答案 0 :(得分:2)
尝试:
在WorkbusterBlock.php中,您必须按照以下步骤设置模板:
public function build() {
return array(
'#theme' => 'block__workbuster_custom',
'#title' => 'Workbuster',
'#description' => 'Workbuster'
);
}
在您的.module中,使用模板作为密钥:
function workbuster_theme()
{
return array(
'block__workbuster_custom' => array(
'variables' => array('title' => NULL, 'description' => NULL),
),
);
}
注意:我在模板名称中用下划线(_)替换了连字符(-)