Add Pico::getTwigTemplate()
This commit is contained in:
parent
9b7523b9e8
commit
5429a3a932
1 changed files with 34 additions and 14 deletions
48
lib/Pico.php
48
lib/Pico.php
|
@ -236,11 +236,19 @@ class Pico
|
|||
/**
|
||||
* Variables passed to the twig template
|
||||
*
|
||||
* @see Pico::getTwigVariables
|
||||
* @see Pico::getTwigVariables()
|
||||
* @var array|null
|
||||
*/
|
||||
protected $twigVariables;
|
||||
|
||||
/**
|
||||
* Name of the Twig template to render
|
||||
*
|
||||
* @see Pico::getTwigTemplate()
|
||||
* @var string|null
|
||||
*/
|
||||
protected $twigTemplate;
|
||||
|
||||
/**
|
||||
* Constructs a new Pico instance
|
||||
*
|
||||
|
@ -403,20 +411,10 @@ class Pico
|
|||
|
||||
// render template
|
||||
$this->twigVariables = $this->getTwigVariables();
|
||||
if (!empty($this->meta['template'])) {
|
||||
$templateName = $this->meta['template'];
|
||||
} else {
|
||||
$templateName = 'index';
|
||||
}
|
||||
if (file_exists($this->getThemesDir() . $this->getConfig('theme') . '/' . $templateName . '.twig')) {
|
||||
$templateName .= '.twig';
|
||||
} else {
|
||||
$templateName .= '.html';
|
||||
}
|
||||
$this->twigTemplate = $this->getTwigTemplate();
|
||||
$this->triggerEvent('onPageRendering', array(&$this->twig, &$this->twigVariables, &$this->twigTemplate));
|
||||
|
||||
$this->triggerEvent('onPageRendering', array(&$this->twig, &$this->twigVariables, &$templateName));
|
||||
|
||||
$output = $this->twig->render($templateName, $this->twigVariables);
|
||||
$output = $this->twig->render($this->twigTemplate, $this->twigVariables);
|
||||
$this->triggerEvent('onPageRendered', array(&$output));
|
||||
|
||||
return $output;
|
||||
|
@ -1575,6 +1573,28 @@ class Pico
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the name of the Twig template to render
|
||||
*
|
||||
* @return string template name
|
||||
*/
|
||||
protected function getTwigTemplate()
|
||||
{
|
||||
if ($this->twigTemplate !== null) {
|
||||
return $this->twigTemplate;
|
||||
}
|
||||
|
||||
$templateName = $this->meta['template'] ?: 'index';
|
||||
|
||||
if (file_exists($this->getThemesDir() . $this->getConfig('theme') . '/' . $templateName . '.twig')) {
|
||||
$templateName .= '.twig';
|
||||
} else {
|
||||
$templateName .= '.html';
|
||||
}
|
||||
|
||||
return $templateName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the base URL of this Pico instance
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue