commerce_license-8.x-2.x-dev/commerce_license.page.inc
commerce_license.page.inc
<?php
/**
* @file
* Contains commerce_license.page.inc.
*
* Page callback for License entities.
*/
use Drupal\Core\Render\Element;
/**
* Prepares variables for License templates.
*
* Default template: commerce_license.html.twig.
*
* @param array $variables
* An associative array containing:
* - elements: An associative array containing the user information and any
* - attributes: HTML attributes for the containing element.
*/
function template_preprocess_commerce_license(array &$variables) {
/** @var \Drupal\commerce_license\Entity\LicenseInterface $license */
$license = $variables['elements']['#commerce_license'];
$variables['license_entity'] = $license;
$variables['license'] = [];
foreach (Element::children($variables['elements']) as $key) {
$variables['license'][$key] = $variables['elements'][$key];
}
if (\Drupal::moduleHandler()->moduleExists('commerce_log')) {
$variables['license']['activity'] = [
'#type' => 'view',
'#name' => 'commerce_activity',
'#display_id' => 'default',
'#arguments' => [$license->id(), 'commerce_license'],
'#embed' => TRUE,
'#title' => t('License activity'),
];
}
// Inject license fields not manually printed in a separate variable for
// easier rendering.
$printed_fields = [
'granted',
'renewed',
'expires',
'created',
'changed',
'uid',
'state',
'activity',
'_layout_builder',
];
$variables['additional_license_fields'] = array_diff_key($variables['license'], array_combine($printed_fields, $printed_fields));
}
