2013-12-17 30 views
1

我試圖動態地設置一個joomla 1.5網站的一部分url的邏輯上的og:image meta標籤。如何在Joomla中動態設置og:image meta標籤?

這是代碼:

<?php 
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
if (strpos($actual_link,'basket') !== false) { 
?> 

<meta property="og:image" content="http://astel-teglio.it/site/images/Basketball.png" /> 

<?php 
}else{ 
?> 

<meta property="og:image" content="http://astel-teglio.it/site/images/LOGO.jpg" /> 

<?php 
} 
?> 

的邏輯很簡單,如果URL包含籃我想使用的圖像Basketball.png,否則LOGO.jpg。

如果我在瀏覽器中觀看源代碼,我會看到正確的屬性,但是當在Facebook上粘貼鏈接時,我總是看到Logo圖像(否則)。

有兩個樣品頁:

回答

0

我認爲這個問題是由SEF URLs我的網址,從改變造成的:

http://astel-teglio.it/site/index.php?option=com_content&view=article&id=317 

到:

http://astel-teglio.it/site/it/minibasket/stagione-20132014/scoiattoli/317--morbegno--molino-tudori-teglio-12-12.html 

但當facebook加載meta標籤,它加載了url字符串中沒有購物籃的原始網址,因此會加載標準圖片。

1

在的Joomla您可以動態設置OG:屬性或meta標籤像下面。

$doc =& JFactory::getDocument(); 
if($shareTitle != '') 
    $doc->addCustomTag('<meta property="og:title" content="'.$shareTitle.'" />' ); 
if($shareDesc != '') 
    $doc->addCustomTag('<meta property="og:description" content="'.$shareDesc.'" />'); 
if($shareImg != '') 
    $doc->addCustomTag('<meta property="og:image" content="'.$shareImg.'" />'); 

您還可以檢查How to set meta data of a page in joomla

另外facebook有緩存問題,你可以調試here

希望這有助於..

+0

謝謝,但我認爲$ shareImg是joomla文章的圖像,但我希望總是爲整個部分設置相同的圖像(例如,「basket」部分的籃球照片,「calcio部分的足球照片」 「) –

+0

@MigioB它不是Joomla的文章圖像這些是虛擬var你可以設置任何你想要的每一篇文章。 –

+0

好的,我會試試,謝謝。 –