AntonLV 7 лет назад
Родитель
Сommit
6e372bb705

+ 2 - 6
modules/base/general/classes/BxBaseModGeneralPageEntry.php

@@ -78,12 +78,8 @@ class BxBaseModGeneralPageEntry extends BxTemplPage
         }
 
         // add content metatags
-        $mixedThumb = $this->_getThumbForMetaObject();
-        if (!empty($CNF['OBJECT_METATAGS']) && $mixedThumb) {
-            $o = BxDolMetatags::getObjectInstance($CNF['OBJECT_METATAGS']);
-            if ($o)
-                $o->addPageMetaInfo($this->_aContentInfo[$CNF['FIELD_ID']], $mixedThumb);
-        }
+        if(!empty($CNF['OBJECT_METATAGS']) && ($o = BxDolMetatags::getObjectInstance($CNF['OBJECT_METATAGS'])) !== false)
+            $o->addPageMetaInfo($this->_aContentInfo[$CNF['FIELD_ID']], $this->_getThumbForMetaObject());
 
         $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
         if($oMenuSubmenu) {

+ 6 - 1
modules/base/profile/classes/BxBaseModProfileModule.php

@@ -1425,9 +1425,14 @@ class BxBaseModProfileModule extends BxBaseModGeneralModule implements iBxDolCon
         
         return false;
     }
+    
+    public function getEntryImageData($aContentInfo, $sField = 'FIELD_PICTURE', $aTranscoders = array())
+    {
+        return parent::getEntryImageData($aContentInfo, $sField, $aTranscoders);
+    }
 
-    // ====== PROTECTED METHODS
 
+    // ====== PROTECTED METHODS
     protected function _checkAllowedConnect (&$aDataEntry, $isPerformAction, $sObjConnection, $isMutual, $isInvertResult, $isSwap = false)
     {
         if (!$this->_iProfileId)

+ 22 - 7
template/scripts/BxBasePage.php

@@ -293,21 +293,27 @@ class BxBasePage extends BxDolPage
      */
     protected function _addSysTemplateVars ()
     {
+        $oTemplate = BxDolTemplate::getInstance();
+
         $sPageTitle = $this->_getPageTitle();
         if ($sPageTitle)
-            BxDolTemplate::getInstance()->setPageHeader ($sPageTitle);
+            $oTemplate->setPageHeader ($sPageTitle);
 
         $sMetaDesc = $this->_getPageMetaDesc();
         if ($sMetaDesc)
-            BxDolTemplate::getInstance()->setPageDescription ($sMetaDesc);
-
-        $sMetaKeywords = $this->_getPageMetaKeywords();
-        if ($sMetaKeywords)
-            BxDolTemplate::getInstance()->addPageKeywords ($sMetaKeywords);
+            $oTemplate->setPageDescription ($sMetaDesc);
 
         $sMetaRobots = $this->_getPageMetaRobots();
         if ($sMetaRobots)
-            BxDolTemplate::getInstance()->setPageMetaRobots ($sMetaRobots);
+            $oTemplate->setPageMetaRobots ($sMetaRobots);
+
+        $sMetaImage = $this->_getPageMetaImage();
+        if ($sMetaImage)
+            $oTemplate->addPageMetaImage($sMetaImage);
+
+        $sMetaKeywords = $this->_getPageMetaKeywords();
+        if ($sMetaKeywords)
+            $oTemplate->addPageKeywords ($sMetaKeywords);
     }
 
     /**
@@ -441,6 +447,15 @@ class BxBasePage extends BxDolPage
         return $this->_replaceMarkers(_t($this->_aObject['meta_description']));
     }
 
+    /**
+     * Get page meta image.
+     * @return string
+     */
+    protected function _getPageMetaImage()
+    {
+        return '';
+    }
+    
     /**
      * Get page meta keywords.
      * @return string

+ 13 - 0
template/scripts/BxBasePageHome.php

@@ -90,6 +90,19 @@ class BxBasePageHome extends BxTemplPage
             ));
         }
     }
+
+    protected function _getPageMetaImage()
+    {
+        $iImage = (int)getParam('sys_site_icon');
+        if(empty($iImage))
+            return '';
+
+        $oTranscoder = BxDolTranscoderImage::getObjectInstance(BX_DOL_TRANSCODER_OBJ_ICON_FACEBOOK);
+        if(!$oTranscoder)
+            return '';
+
+        return $oTranscoder->getFileUrl($iImage);
+    }
 }
 
 /** @} */