{% set banner = entry.banner.one() %} {% block body %} <div class="body-wrap _no-menu"> <main role="main" id="maincontent" class="main__content"> <section class="banner-feature"> <img class="banner-feature__img" src="{{ entry.banner.one().image.one().getUrl({ width:1213, height:230 }) }}" alt="{{ entry.banner.one().image.one().title }}"> <div class="banner__info-wrap"> <p class="banner-feature__grayTitle"><time datetime="{{ entry.postDate|date(constant('DATE_ISO8601')) }}">{{ entry.postDate|date("F j, Y") }}</time></p> <h1 class="banner-feature__redHeadline{% if banner.grayTitle %} _mb{% endif %}">{{ banner.headline|default(entry.title) }}</h1> {% if banner.intro %} <p class="banner-feature__grayText">{{ banner.intro }}</p> {% endif %}
// Add deprecated support for the old DateTime methods if ($object instanceof \DateTime && ($value = self::_dateTimeAttribute($object, $item, $type)) !== false) { return $value; } try { return \twig_get_attribute($env, $source, $object, $item, $arguments, $type, $isDefinedTest, $ignoreStrictCheck); } catch (UnknownMethodException $e) { // Copy twig_get_attribute()'s BadMethodCallException handling if ($ignoreStrictCheck || !$env->isStrictVariables()) { return null; } throw new RuntimeError($e->getMessage(), -1, $source);
<div class=\"body-wrap _no-menu\"> \t<main role=\"main\" id=\"maincontent\" class=\"main__content\"> \t\t<section class=\"banner-feature\"> \t\t\t<img class=\"banner-feature__img\" src=\""; // line 20 echo twig_escape_filter($this->env, craft\helpers\Template::attribute($this->env, $this->source, craft\helpers\Template::attribute($this->env, $this->source, craft\helpers\Template::attribute($this->env, $this->source, craft\helpers\Template::attribute($this->env, $this->source, craft\helpers\Template::attribute($this->env, $this->source, (isset($context["entry"]) || array_key_exists("entry", $context) ? $context["entry"] : (function () { throw new RuntimeError('Variable "entry" does not exist.', 20, $this->source); })()), "banner", []), "one", [], "method"), "image", []), "one", [], "method"), "getUrl", [0 => ["width" => 1213, "height" => 230]], "method"), "html", null, true); echo "\" alt=\""; echo twig_escape_filter($this->env, craft\helpers\Template::attribute($this->env, $this->source, craft\helpers\Template::attribute($this->env, $this->source, craft\helpers\Template::attribute($this->env, $this->source, craft\helpers\Template::attribute($this->env, $this->source, craft\helpers\Template::attribute($this->env, $this->source, (isset($context["entry"]) || array_key_exists("entry", $context) ? $context["entry"] : (function () { throw new RuntimeError('Variable "entry" does not exist.', 20, $this->source); })()), "banner", []), "one", [], "method"), "image", []), "one", [], "method"), "title", []), "html", null, true); echo "\"> \t\t\t<div class=\"banner__info-wrap\"> \t\t\t\t<p class=\"banner-feature__grayTitle\"><time datetime=\"";
if (null !== $template && !$template instanceof self) { throw new \LogicException('A block must be a method on a \Twig\Template instance.'); } if (null !== $template) { try { $template->$block($context, $blocks); } catch (Error $e) { if (!$e->getSourceContext()) { $e->setSourceContext($template->getSourceContext()); } // this is mostly useful for \Twig\Error\LoaderError exceptions
// line 90 echo "\t\t\t</header> \t\t</div> \t\t"; // line 93 $this->displayBlock('body', $context, $blocks); // line 95 echo " \t\t<div class=\"footer-wrap"; // line 96 if ((((isset($context["hide_footer"]) || array_key_exists("hide_footer", $context))) ? (_twig_default_filter((isset($context["hide_footer"]) || array_key_exists("hide_footer", $context) ? $context["hide_footer"] : (function () { throw new RuntimeError('Variable "hide_footer" does not exist.', 96, $this->source); })()), false)) : (false))) { echo " _hidden";
return ob_get_clean(); } protected function displayWithErrorHandling(array $context, array $blocks = []) { try { $this->doDisplay($context, $blocks); } catch (Error $e) { if (!$e->getSourceContext()) { $e->setSourceContext($this->getSourceContext()); } // this is mostly useful for \Twig\Error\LoaderError exceptions
{ return $this->blocks; } public function display(array $context, array $blocks = []) { $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks)); } public function render(array $context) { $level = ob_get_level(); if ($this->env->isDebug()) {
// line 10 $context["result_col"] = "false"; // line 12 $context["banner"] = craft\helpers\Template::attribute($this->env, $this->source, craft\helpers\Template::attribute($this->env, $this->source, (isset($context["entry"]) || array_key_exists("entry", $context) ? $context["entry"] : (function () { throw new RuntimeError('Variable "entry" does not exist.', 12, $this->source); })()), "banner", []), "one", [], "method"); // line 3 $this->parent = $this->loadTemplate("_layouts/default", "announcements/_announcement", 3); $this->parent->display($context, array_merge($this->blocks, $blocks)); // line 0 craft\helpers\Template::endProfile("template", "announcements/_announcement"); } // line 14 public function block_body($context, array $blocks = [])
return ob_get_clean(); } protected function displayWithErrorHandling(array $context, array $blocks = []) { try { $this->doDisplay($context, $blocks); } catch (Error $e) { if (!$e->getSourceContext()) { $e->setSourceContext($this->getSourceContext()); } // this is mostly useful for \Twig\Error\LoaderError exceptions
{ return $this->blocks; } public function display(array $context, array $blocks = []) { $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks)); } public function render(array $context) { $level = ob_get_level(); if ($this->env->isDebug()) {
protected function doDisplay(array $context, array $blocks = []) { $macros = $this->macros; craft\helpers\Template::beginProfile("template", "_entry"); // line 1 $this->loadTemplate([0 => ((craft\helpers\Template::attribute($this->env, $this->source, craft\helpers\Template::attribute($this->env, $this->source, (isset($context["entry"]) || array_key_exists("entry", $context) ? $context["entry"] : (function () { throw new RuntimeError('Variable "entry" does not exist.', 1, $this->source); })()), "section", []), "handle", []) . "/") . craft\helpers\Template::attribute($this->env, $this->source, (isset($context["entry"]) || array_key_exists("entry", $context) ? $context["entry"] : (function () { throw new RuntimeError('Variable "entry" does not exist.', 1, $this->source); })()), "slug", [])), 1 => ((craft\helpers\Template::attribute($this->env, $this->source, craft\helpers\Template::attribute($this->env, $this->source, (isset($context["entry"]) || array_key_exists("entry", $context) ? $context["entry"] : (function () { throw new RuntimeError('Variable "entry" does not exist.', 1, $this->source); })()), "section", []), "handle", []) . "/_") . craft\helpers\Template::attribute($this->env, $this->source, (isset($context["entry"]) || array_key_exists("entry", $context) ? $context["entry"] : (function () { throw new RuntimeError('Variable "entry" does not exist.', 1, $this->source); })()), "type", [])), 2 => "_page"], "_entry", 1)->display($context); // line 0 craft\helpers\Template::endProfile("template", "_entry"); } public function getTemplateName() {
return ob_get_clean(); } protected function displayWithErrorHandling(array $context, array $blocks = []) { try { $this->doDisplay($context, $blocks); } catch (Error $e) { if (!$e->getSourceContext()) { $e->setSourceContext($this->getSourceContext()); } // this is mostly useful for \Twig\Error\LoaderError exceptions
{ return $this->blocks; } public function display(array $context, array $blocks = []) { $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks)); } public function render(array $context) { $level = ob_get_level(); if ($this->env->isDebug()) {
if ($this->env->isDebug()) { ob_start(); } else { ob_start(function () { return ''; }); } try { $this->display($context); } catch (\Throwable $e) { while (ob_get_level() > $level) { ob_end_clean(); } throw $e;
* @param array $context An array of parameters to pass to the template */ public function render(array $context = []): string { // using func_get_args() allows to not expose the blocks argument // as it should only be used by internal code return $this->template->render($context, \func_get_args()[1] ?? []); } /** * Displays the template. * * @param array $context An array of parameters to pass to the template
* @throws LoaderError When the template cannot be found * @throws SyntaxError When an error occurred during compilation * @throws RuntimeError When an error occurred during rendering */ public function render($name, array $context = []) { return $this->load($name)->render($context); } /** * Displays a template. * * @param string|TemplateWrapper $name The template name
// Render and return $renderingTemplate = $this->_renderingTemplate; $this->_renderingTemplate = $template; $e = null; try { $output = $this->getTwig()->render($template, $variables); } catch (\Throwable $e) { // throw it later } $this->_renderingTemplate = $renderingTemplate; $this->setTemplateMode($oldTemplateMode);
$isRenderingPageTemplate = $this->_isRenderingPageTemplate; $this->_isRenderingPageTemplate = true; $e = null; try { $this->beginPage(); echo $this->renderTemplate($template, $variables); $this->endPage(); } catch (\Throwable $e) { // throw it later } $this->_isRenderingPageTemplate = $isRenderingPageTemplate;
} $headers->set('content-type', $mimeType . '; charset=' . $response->charset); } // Render and return the template $response->data = $this->getView()->renderPageTemplate($template, $variables, $templateMode); // Prevent a response formatter from overriding the content-type header $response->format = YiiResponse::FORMAT_RAW; return $response; }
// Merge any additional route params $routeParams = Craft::$app->getUrlManager()->getRouteParams(); unset($routeParams['template'], $routeParams['template']); $variables = array_merge($variables, $routeParams); return $this->renderTemplate($template, $variables); } /** * Shows the 'offline' template. * * @return Response
$args = $this->controller->bindActionParams($this, $params); Yii::debug('Running action: ' . get_class($this->controller) . '::' . $this->actionMethod . '()', __METHOD__); if (Yii::$app->requestedParams === null) { Yii::$app->requestedParams = $args; } return call_user_func_array([$this->controller, $this->actionMethod], $args); } }
} $result = null; if ($runAction && $this->beforeAction($action)) { // run the action $result = $action->runWithParams($params); $result = $this->afterAction($action, $result); // call afterAction on modules foreach ($modules as $module) { /* @var $module Module */
/** * @inheritdoc */ public function runAction($id, $params = []) { try { return parent::runAction($id, $params); } catch (\Throwable $e) { if (Craft::$app->getRequest()->getAcceptsJson()) { Craft::$app->getErrorHandler()->logException($e); if (!YII_DEBUG && !$e instanceof UserException) { $message = Craft::t('app', 'A server error occurred.'); } else {
$parts = $this->createController($route); if (is_array($parts)) { /* @var $controller Controller */ list($controller, $actionID) = $parts; $oldController = Yii::$app->controller; Yii::$app->controller = $controller; $result = $controller->runAction($actionID, $params); if ($oldController !== null) { Yii::$app->controller = $oldController; } return $result; }
* @param string $route * @param array $params * @return Response|null The result of the action, normalized into a Response object */ public function runAction($route, $params = []) { $result = parent::runAction($route, $params); if ($result !== null) { if ($result instanceof Response) { return $result; }
$params = $this->catchAll; unset($params[0]); } try { Yii::debug("Route requested: '$route'", __METHOD__); $this->requestedRoute = $route; $result = $this->runAction($route, $params); if ($result instanceof Response) { return $result; } $response = $this->getResponse(); if ($result !== null) {
if (($response = $this->_processActionRequest($request)) !== null) { return $response; } // If we're still here, finally let Yii do it's thing. try { return parent::handleRequest($request); } catch (\Throwable $e) { $this->_unregisterDebugModule(); throw $e; } }
{ try { $this->state = self::STATE_BEFORE_REQUEST; $this->trigger(self::EVENT_BEFORE_REQUEST); $this->state = self::STATE_HANDLING_REQUEST; $response = $this->handleRequest($this->getRequest()); $this->state = self::STATE_AFTER_REQUEST; $this->trigger(self::EVENT_AFTER_REQUEST); $this->state = self::STATE_SENDING_RESPONSE; $response->send();
(new Dotenv\Dotenv(CRAFT_BASE_PATH))->load(); } // Load and run Craft define('CRAFT_ENVIRONMENT', getenv('ENVIRONMENT') ?: 'production'); $app = require CRAFT_VENDOR_PATH.'/craftcms/cms/bootstrap/web.php'; $app->run();
$_GET = [ 'p' => 'announcements/2013/10/movies-in-the-park-series-returns-in-downtown-gr', ];