Craft\SeomaticService::getSiteMeta PHP 메소드

getSiteMeta() 공개 메소드

--------------------------------------------------------------------------------
public getSiteMeta ( $locale )
    public function getSiteMeta($locale)
    {
        /* -- Cache it in our class; no need to fetch it more than once */
        if (isset($this->cachedSiteMeta[$locale])) {
            return $this->cachedSiteMeta[$locale];
        }
        $settings = $this->getSettings($locale);
        $siteMeta = array();
        $siteMeta['locale'] = $settings['locale'];
        $siteMeta['siteSeoName'] = $settings['siteSeoName'];
        $siteMeta['siteSeoTitle'] = $settings['siteSeoTitle'];
        $siteMeta['siteSeoTitleSeparator'] = $settings['siteSeoTitleSeparator'];
        $siteMeta['siteSeoTitlePlacement'] = $settings['siteSeoTitlePlacement'];
        $siteMeta['siteDevModeTitle'] = craft()->config->get("siteDevModeTitle", "seomatic");
        $siteMeta['siteSeoDescription'] = $settings['siteSeoDescription'];
        $siteMeta['siteSeoKeywords'] = $settings['siteSeoKeywords'];
        $siteMeta['siteSeoImageId'] = $settings['siteSeoImageId'];
        $siteMeta['siteSeoTwitterImageId'] = $settings['siteSeoTwitterImageId'];
        $siteMeta['siteSeoFacebookImageId'] = $settings['siteSeoFacebookImageId'];
        $siteMeta['siteSeoImageTransform'] = $settings['siteSeoImageTransform'];
        $siteMeta['siteSeoFacebookImageTransform'] = $settings['siteSeoFacebookImageTransform'];
        $siteMeta['siteSeoTwitterImageTransform'] = $settings['siteSeoTwitterImageTransform'];
        if (isset($settings['siteRobots'])) {
            $siteMeta['siteRobots'] = $settings['siteRobots'];
        } else {
            $siteMeta['siteRobots'] = '';
        }
        /* -- Handle the organization contact points */
        $siteMeta['siteLinksSearchTargets'] = $settings['siteLinksSearchTargets'];
        $searchTargets = array();
        if (isset($siteMeta['siteLinksSearchTargets']) && is_array($siteMeta['siteLinksSearchTargets'])) {
            foreach ($siteMeta['siteLinksSearchTargets'] as $searchTarget) {
                $searchTargets[] = $searchTarget;
            }
        }
        $searchTargets = array_filter($searchTargets);
        $siteMeta['siteLinksSearchTargets'] = $searchTargets;
        $siteMeta['siteLinksQueryInput'] = $settings['siteLinksQueryInput'];
        $siteMeta['siteTwitterCardType'] = $settings['siteTwitterCardType'];
        if (!$siteMeta['siteTwitterCardType']) {
            $siteMeta['siteTwitterCardType'] = 'summary';
        }
        $siteMeta['siteOpenGraphType'] = $settings['siteOpenGraphType'];
        if (!$siteMeta['siteOpenGraphType']) {
            $siteMeta['siteOpenGraphType'] = 'website';
        }
        /* -- Swap in the seoImageId for the actual asset */
        if (isset($siteMeta['siteSeoImageId'])) {
            $image = craft()->assets->getFileById($siteMeta['siteSeoImageId']);
            if ($image) {
                $imgUrl = $image->getUrl($siteMeta['siteSeoImageTransform']);
                if (!$imgUrl) {
                    $imgUrl = $image->url;
                }
                $siteMeta['siteSeoImage'] = $this->getFullyQualifiedUrl($imgUrl);
            } else {
                $siteMeta['siteSeoImage'] = '';
            }
        } else {
            $siteMeta['siteSeoImage'] = '';
        }
        $siteMeta['siteRobotsTxt'] = $settings['siteRobotsTxt'];
        $result = $siteMeta;
        $this->cachedSiteMeta[$locale] = $result;
        return $result;
    }