Skip to content

Instantly share code, notes, and snippets.

@jmolivas
Last active August 20, 2022 18:57
Show Gist options
  • Star 26 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save jmolivas/d29065493a91f16f35b2 to your computer and use it in GitHub Desktop.
Save jmolivas/d29065493a91f16f35b2 to your computer and use it in GitHub Desktop.
Drupal 8 example: How to render a Twig template and load a CSS file from a Controller
.acme-hello-text {
background-color: #dedede;
}
<?php
function acme_theme() {
$theme['hello_page'] = [
'variables' => ['name' => NULL],
'template' => 'hello'
];
return $theme;
}
acme_hello:
path: '/acme/hello/{name}'
defaults:
_content: '\Drupal\acme\Controller\DefaultController::hello'
_title: 'acme Title'
requirements:
_permission: 'access content'
<?php
namespace Drupal\acme\Controller;
use Drupal\Core\Controller\ControllerBase;
class DefaultController extends ControllerBase
{
/**
* hello
* @param string $name
* @return string
*/
public function hello($name)
{
return [
'#theme' => 'hello_page',
'#name' => $name,
'#attached' => [
'css' => [
drupal_get_path('module', 'acme') . '/assets/css/acme.css'
]
]
];
}
}
<div class="acme-hello-text">
<h1>Hello {{ name }}!</h1>
</div>
@jmolivas
Copy link
Author

glad this is still useful @ahernandezsouza

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment