Craft\SeomaticVariable::renderGlobals PHP Method

renderGlobals() public method

* -------------------------------------------------------------------------------- Render the SEOmatic globals for the preview --------------------------------------------------------------------------------
public renderGlobals ( $forTemplate = "", $elementId = null, $locale = null )
    function renderGlobals($forTemplate = "", $elementId = null, $locale = null)
    {
        $entryMeta = null;
        if (!$locale) {
            $locale = craft()->language;
        }
        if ($elementId) {
            $element = craft()->elements->getElementById($elementId, null, $locale);
            if ($element) {
                $entryMeta = craft()->seomatic->getMetaFromElement($element);
                if ($entryMeta) {
                    craft()->seomatic->setEntryMeta($entryMeta, $element->url);
                }
            }
        }
        $metaVars = craft()->seomatic->getGlobals($forTemplate, $locale);
        /* -- Fudge the canonicalUrl for the preview */
        if (!$entryMeta) {
            $siteUrl = craft()->getSiteUrl();
            if ($siteUrl[strlen($siteUrl) - 1] != '/' && $forTemplate) {
                $siteUrl = $siteUrl + '/';
            }
            $fullUrl = $siteUrl . $forTemplate;
            $metaVars['seomaticMeta']['canonicalUrl'] = $fullUrl;
            if (isset($metaVars['seomaticMeta']['og'])) {
                $metaVars['seomaticMeta']['og']['url'] = $fullUrl;
            }
        }
        /* -- No need to expose the locale */
        unset($metaVars['seomaticIdentity']['locale']);
        unset($metaVars['seomaticSocial']['locale']);
        unset($metaVars['seomaticSiteMeta']['locale']);
        unset($metaVars['seomaticCreator']['locale']);
        $result = craft()->seomatic->renderGlobals($metaVars, $forTemplate);
        return rtrim($result);
    }