Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 15 |
FilesystemLoader | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
30 | |
0.00% |
0 / 15 |
__construct | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 12 |
|||
addPath | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\Core\Template\Loader\FilesystemLoader. | |
*/ | |
namespace Drupal\Core\Template\Loader; | |
use Drupal\Core\Extension\ModuleHandlerInterface; | |
use Drupal\Core\Extension\ThemeHandlerInterface; | |
/** | |
* Loads templates from the filesystem. | |
* | |
* This loader adds module and theme template paths as namespaces to the Twig | |
* filesystem loader so that templates can be referenced by namespace, like | |
* @block/block.html.twig or @mytheme/page.html.twig. | |
*/ | |
class FilesystemLoader extends \Twig_Loader_Filesystem { | |
/** | |
* Constructs a new FilesystemLoader object. | |
* | |
* @param string|array $paths | |
* A path or an array of paths to check for templates. | |
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler | |
* The module handler service. | |
* @param \Drupal\Core\Extension\ThemeHandlerInterface $theme_handler | |
* The theme handler service. | |
*/ | |
public function __construct($paths = array(), ModuleHandlerInterface $module_handler, ThemeHandlerInterface $theme_handler) { | |
parent::__construct($paths); | |
// Add namespaced paths for modules and themes. | |
$namespaces = array(); | |
foreach ($module_handler->getModuleList() as $name => $extension) { | |
$namespaces[$name] = $extension->getPath(); | |
} | |
foreach ($theme_handler->listInfo() as $name => $extension) { | |
$namespaces[$name] = $extension->getPath(); | |
} | |
foreach ($namespaces as $name => $path) { | |
$this->addPath($path . '/templates', $name); | |
} | |
} | |
/** | |
* Adds a path where templates are stored. | |
* | |
* @param string $path | |
* A path where to look for templates. | |
* @param string $namespace | |
* (optional) A path name. | |
*/ | |
public function addPath($path, $namespace = self::MAIN_NAMESPACE) { | |
// Invalidate the cache. | |
$this->cache = array(); | |
$this->paths[$namespace][] = rtrim($path, '/\\'); | |
} | |
} |