Drupal 8에서 사용자 정의 컨텐츠로 사용자 정의 블록을 만들고 싶습니다. 처음에 간단한 텍스트로 블록을 만들고 올바르게 작동하면 문제는 어떻게 사용자 정의 변수를 전달할 수 있습니까? 모듈에 대한 튜토리얼을 보았습니다. 모듈 이름은 파일의 tcdev
내용입니다 .module
.
function tcdev_theme($existing, $type, $theme, $path) {
return array('tcdev' =>
array(
'variables' => array(
'title' => 'Default title',
'description' => null
),
'template' => 'block--sliderblock'
)
);
}
그리고 내 SliderBlock.php
namespace Drupal\tcdev\Plugin\Block;
use Drupal\Core\block\BlockBase;
/**
* Provides a 'SliderBlock' block.
*
* @Block(
* id = "slider_block",
* admin_label = @Translation("Slider Block"),
* )
*/
class SliderBlock extends BlockBase{
/**
* {@inheritdoc}
*/
public function build(){
return array(
'#title' => 'my title ',
'#description' => 'my custom desc'
);
}
}
마지막으로 템플릿 파일 block--sliderblock.html.twig
<h2>My Custom Block{{ title }}-{{ description }}</h2>
그러나 결과는 "My Custom Block-"입니다. 문제는 변수가 템플릿 파일에 전달되지 않는 것입니다. 내 결함은 어디에 있습니까?
도움을 주셔서 감사합니다
block--sliderblock.html.twig
렌더링 된 문제는 내 변수를 전달하는 방법입니다 !!!? 내 코드에 따라 나에게 제안하는 것은 무엇입니까? ? 관심을 끌기위한 tnx