我对Drupal并不陌生,开始学习Drupal8,谁能给我一个在Drupal8自定义块中使用自定义树枝模板的示例。
答案 0 :(得分:1)
请遵循以下步骤:
如果没有自定义.module文件,请创建它,并添加具有定义的变量名称和Twig模板名称的hook_theme()。
/**
* Implements hook_theme().
*/
function custom_theme() {
return array(
'custom_block' => array(
'variables' => array('title' => NULL, 'description' => NULL),
'template' => 'block--ws-custom',
),
);
}
下一步是创建一个阻止文件并放置代码。转到您的自定义模块文件夹,打开/ src / Plugin / Block /并创建文件,例如Custom.php。包括一些核心功能并构建您的自定义块。为您的街区和管理员标签定义ID,以便您可以轻松地在“结构”->“街区布局”中找到它并放置到区域中。
创建一个类并扩展BlockBase。使用build()函数并返回变量数组:
namespace Drupal\custom\Plugin\Block;
use Drupal\Core\Block\BlockBase;
/**
* Provides a 'ws custom' block.
*
* @Block(
* id = "custom_block",
* admin_label = @Translation("Custom Block"),
*
* )
*/
class Custom extends BlockBase {
/**
* {@inheritdoc}
*/
public function build() {
// do something
return array(
'#title' => 'Title',
'#description' => 'Description'
);
}
}
现在清除缓存,然后转到“结构”->“块布局”。找到您的街区并将其放置在所需的区域。
下一步是创建Twig文件并渲染变量。在主题文件夹中,打开您使用的主题,例如wstheme并打开文件夹模板/块。现在,创建一个文件块--custom.html.twig。
将变量渲染到Twig HTML:
{#
/**
* @file
* Profile custom block.
*/
#}
<div class="custom--block">
<h1>{{ title }}</h1>
<p>{{ description }}</p>
</div>
祝你好运!