TwigExtension.php in UI Patterns 8
Namespace
Drupal\ui_patterns\TemplateFile
src/Template/TwigExtension.phpView source
<?php
namespace Drupal\ui_patterns\Template;
/**
* Class UiPatternsTwigExtension.
*
* @package Drupal\ui_patterns\Template
*/
class TwigExtension extends \Twig_Extension {
/**
* {@inheritdoc}
*/
public function getName() {
return 'ui_patterns';
}
/**
* {@inheritdoc}
*/
public function getFunctions() {
return [
new \Twig_SimpleFunction('pattern', [
$this,
'renderPattern',
]),
new \Twig_SimpleFunction('pattern_preview', [
$this,
'renderPatternPreview',
]),
];
}
/**
* Render given pattern.
*
* @param string $id
* Pattern ID.
* @param array $fields
* Pattern fields.
* @param string $variant
* Variant name.
*
* @return array
* Pattern render array.
*
* @see \Drupal\ui_patterns\Element\Pattern
*/
public function renderPattern($id, array $fields = [], $variant = "") {
return [
'#type' => 'pattern',
'#id' => $id,
'#fields' => $fields,
'#variant' => $variant,
];
}
/**
* Render given pattern.
*
* @param string $id
* Pattern ID.
* @param string $variant
* Variant name.
*
* @return array
* Pattern render array.
*
* @see \Drupal\ui_patterns\Element\Pattern
*/
public function renderPatternPreview($id, $variant = "") {
return [
'#type' => 'pattern_preview',
'#id' => $id,
'#variant' => $variant,
];
}
}
Classes
Name | Description |
---|---|
TwigExtension | Class UiPatternsTwigExtension. |