class CommerceTwigExtension in Commerce Core 8.2
Provides the Commerce Twig extensions.
Hierarchy
- class \Drupal\commerce\TwigExtension\CommerceTwigExtension extends \Drupal\commerce\TwigExtension\Twig_Extension
Expanded class hierarchy of CommerceTwigExtension
1 string reference to 'CommerceTwigExtension'
1 service uses CommerceTwigExtension
File
- src/
TwigExtension/ CommerceTwigExtension.php, line 10
Namespace
Drupal\commerce\TwigExtensionView source
class CommerceTwigExtension extends \Twig_Extension {
/**
* @inheritdoc
*/
public function getFilters() {
return [
new \Twig_SimpleFilter('commerce_entity_render', [
$this,
'renderEntity',
]),
];
}
/**
* @inheritdoc
*/
public function getName() {
return 'commerce.twig_extension';
}
/**
* Renders an entity in the given view mode.
*
* Example: {{ order_item.getPurchasableEntity|commerce_entity_render }}
*
* @param mixed $entity
* The entity.
* @param string $view_mode
* The view mode.
*
* @return array
* A renderable array for the rendered entity.
*
* @throws \InvalidArgumentException
*/
public static function renderEntity($entity, $view_mode = 'default') {
if (empty($entity)) {
// Nothing to render.
return [];
}
if (!$entity instanceof ContentEntityInterface) {
throw new \InvalidArgumentException('The "commerce_entity_render" filter must be given a content entity.');
}
$view_builder = \Drupal::entityTypeManager()
->getViewBuilder($entity
->getEntityTypeId());
return $view_builder
->view($entity, $view_mode);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CommerceTwigExtension:: |
public | function | @inheritdoc | |
CommerceTwigExtension:: |
public | function | @inheritdoc | |
CommerceTwigExtension:: |
public static | function | Renders an entity in the given view mode. |