我正在尝试制作一个树枝模板以从自定义块中获取变量,当我执行{{ dumb() }}
时,它会向我显示变量及其值,但是当我调用该变量时,它将不会显示即使我用哑{{ dumb(title) }}
调用变量,它也告诉我是NULL。谁能帮我理解这是什么错误?
阻止:onyx_experiencia.php
/**
* Provides a 'Test' Block.
*
* @Block(
* id = "onyx_experiencia",
* admin_label = @Translation("Servicios OnyxGroup"),
* category = @Translation("Servicios OnyxGroup"),
* )
*/
class onyx_experiencia extends BlockBase implements BlockPluginInterface {
/**
* {@inheritdoc}
*/
public function build() {
$title = 'TestTitle34';
$desc = 'Test text 24';
$test_array = array(
'#title' => $title,
'#description' => $desc
);
return $test_array;
}
block.module :onyx_experiencia.module
<?php
/**
* Implements hook_theme().
*/
function onyx_experiencia_theme($existing, $type, $theme, $path) {
return array(
'block__serviciosonyxgroup' => array(
'template' => 'block--serviciosonyxgroup',
'render element' => 'elements',
'variables' => array(
'title' => 'TitleTest',
'description' => 'DescriptionTest'
),
),
);
}
树枝文件:block--serviciosonyxgroup.html.twig
{#
/**
* @file
* Profile for onyx_experiencia block.
*/
#}
<h3>Featured Events</h3>
<p>Test: {{ title }} </p>
<p>Test: {{ description }} </p>
<ol>
{% for key, value in _context %}
<li>{{ key }}</li>
{% endfor %}
</ol>
{{ dump(content) }}
更新仍然无法使用其他方式
答案 0 :(得分:0)
如您的屏幕截图所示:
变量位于变量content
中,而不位于_context
中
您当前的模板代码假定它们在实时_context
中,尽管它们没有任何前缀。
{{ title }}
等于<?= isset($_context['title']) ? $_context['title'] : null; ?>
因此您需要将模板更改为类似的
<h3>Featured Events</h3>
<p>Test: {{ content['#title'] }} </p>
<p>Test: {{ content['#description'] }} </p>