Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Template.php

function Template::loadTemplate

Parameters

string|TemplateWrapper|array<string|TemplateWrapper> $template:

1 call to Template::loadTemplate()
Template::getParent in vendor/twig/twig/src/Template.php
Returns the parent template.

File

vendor/twig/twig/src/Template.php, line 273

Class

Template
Default base class for compiled templates.

Namespace

Twig

Code

protected function loadTemplate($template, $templateName = null, $line = null, $index = null) : self|TemplateWrapper {
    try {
        if (\is_array($template)) {
            return $this->env
                ->resolveTemplate($template);
        }
        if ($template instanceof TemplateWrapper) {
            return $template;
        }
        if ($template instanceof self) {
            trigger_deprecation('twig/twig', '3.9', 'Passing a "%s" instance to "%s" is deprecated.', self::class, __METHOD__);
            return $template;
        }
        if ($template === $this->getTemplateName()) {
            $class = static::class;
            if (false !== ($pos = strrpos($class, '___', -1))) {
                $class = substr($class, 0, $pos);
            }
        }
        else {
            $class = $this->env
                ->getTemplateClass($template);
        }
        return $this->env
            ->loadTemplate($class, $template, $index);
    } catch (Error $e) {
        if (!$e->getSourceContext()) {
            $e->setSourceContext($templateName ? new Source('', $templateName) : $this->getSourceContext());
        }
        if ($e->getTemplateLine() > 0) {
            throw $e;
        }
        if (!$line) {
            $e->guess();
        }
        else {
            $e->setTemplateLine($line);
        }
        throw $e;
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal