nyan_cat.engine in Drupal 9
Same filename and directory in other branches
Handles integration of Nyan cat templates because we love kittens.
File
core/modules/system/tests/themes/engines/nyan_cat/nyan_cat.engineView source
<?php
/**
* @file
* Handles integration of Nyan cat templates because we love kittens.
*/
use Drupal\Core\Extension\Extension;
/**
* Includes .theme file from themes.
*
* @param \Drupal\Core\Extension\Extension $theme
* The theme extension object.
*/
function nyan_cat_init(Extension $theme) {
$theme
->load();
}
/**
* Implements hook_theme().
*/
function nyan_cat_theme($existing, $type, $theme, $path) {
$templates = drupal_find_theme_functions($existing, [
$theme,
]);
$templates += drupal_find_theme_templates($existing, '.nyan-cat.html', $path);
return $templates;
}
/**
* Implements hook_extension().
*/
function nyan_cat_extension() {
return '.nyan-cat.html';
}
/**
* Implements hook_render_template().
*
* @param string $template_file
* The filename of the template to render.
* @param mixed[] $variables
* A keyed array of variables that will appear in the output.
*
* @return string
* The output generated by the template.
*/
function nyan_cat_render_template($template_file, $variables) {
$output = str_replace('div', 'nyancat', file_get_contents(\Drupal::root() . '/' . $template_file));
foreach ($variables as $key => $variable) {
if (strpos($output, '9' . $key) !== FALSE) {
$output = str_replace('9' . $key, theme_render_and_autoescape($variable), $output);
}
}
return $output;
}
Functions
Name | Description |
---|---|
nyan_cat_extension | Implements hook_extension(). |
nyan_cat_init | Includes .theme file from themes. |
nyan_cat_render_template | Implements hook_render_template(). |
nyan_cat_theme | Implements hook_theme(). |