Ich möchte meinen benutzerdefinierten Block mit benutzerdefiniertem Inhalt in Drupal 8 erstellen. Zu Beginn erstelle ich einen Block mit nur einfachem Text und arbeite ordnungsgemäß. Mein Problem ist, wie ich meine benutzerdefinierte Variable an ihn übergeben kann. Ich habe ein Tutorial darüber gesehen, mein Modulname ist tcdevund dies ist der Inhalt der .moduleDatei.
function tcdev_theme($existing, $type, $theme, $path) {
return array('tcdev' =>
array(
'variables' => array(
'title' => 'Default title',
'description' => null
),
'template' => 'block--sliderblock'
)
);
}
und mein 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'
);
}
}
und schließlich meine Vorlagendatei block--sliderblock.html.twig
<h2>My Custom Block{{ title }}-{{ description }}</h2>
Das Ergebnis ist jedoch nur "My Custom Block-". Das Problem ist, dass Variablen nicht an die Vorlagendatei übergeben werden. Wo liegt mein Fehler?
schätzen jede Hilfe
block--sliderblock.html.twiggerendert, das Problem ist, wie ich meine Variable an sie weitergebe !!!? Was schlagen Sie mir gemäß meinem Code vor? ? tnx für Ihre Aufmerksamkeit