1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- /**
- * @file
- * Contains heartbeat.page.inc.
- *
- * Page callback for Heartbeat entities.
- */
- use Drupal\Core\Render\Element;
- /**
- * Prepares variables for Heartbeat templates.
- *
- * Default template: heartbeat.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_heartbeat(array &$variables) {
- // Fetch Heartbeat Entity Object.
- $entity = $variables['elements']['#heartbeat'];
- if ($entity->getEntityType() == 'heartbeat' && $entity->isPublished()) {
- $node = \Drupal::entityTypeManager()
- ->getStorage('node')
- ->load($entity->getNid()->getValue()[0]['target_id']);
- if ($node !== null) {
- $renderedNode = \Drupal::entityTypeManager()->getViewBuilder('node')->view($node, 'full');
- $variables['content']['node'] = $renderedNode;
- }
- }
- // Helpful $content variable for templates.
- foreach (Element::children($variables['elements']) as $key) {
- $variables['content'][$key] = $variables['elements'][$key];
- }
- }
|