【发布时间】:2018-09-22 06:19:58
【问题描述】:
我是 Drupal 的新手,开始学习 Drupal8,谁能给我一个在 Drupal8 自定义块中使用自定义树枝模板的示例。
【问题讨论】:
我是 Drupal 的新手,开始学习 Drupal8,谁能给我一个在 Drupal8 自定义块中使用自定义树枝模板的示例。
【问题讨论】:
按照以下步骤操作:
如果您没有自定义 .module 文件,请创建您的自定义 .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/ 并创建文件,例如自定义.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>
祝你好运!
【讨论】:
'block__custom_block' = ['template' => 'block--custom-block']