public function metaTagsHtml($defaults = true, array $arguments = array(), $canonical = true) { $locale = $this->translator->getLocale(); $currentLang = substr($locale, 0, 2); if (!isset($arguments['pre'])) { $arguments['pre'] = sprintf("\n%8s", ' '); } $headers = self::initMetaTagString(); if ($defaults) { $headers .= $arguments['pre'] . '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'; $headers .= $arguments['pre'] . '<meta http-equiv="content-language" content="' . $currentLang . '" />'; $headers .= $arguments['pre'] . '<meta name="DC.language" scheme="RFC3066" content="' . $currentLang . '" />'; } $key = $this->keyGenerator->generateMetaTagKey($this->container->get('request'), $this->container->get('router'), $locale); $obj = $this->manager->findMetaTag($key, $locale); if ($obj) { $headers .= $this->metaTagToHtml($obj, $arguments); } else { $tags = $arguments; unset($tags['pre']); $headers .= MetaTagToHtmlRenderer::createMetaTags($arguments['pre'], $tags, $this); } if ($canonical) { $headers .= $arguments['pre'] . $this->canonicalTagsHtml($this->getRequest()->getPathInfo()); } return $headers; }