Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在joomla中用php动态设置og:image元标记?_Php_Html_Facebook_Joomla_Meta Tags - Fatal编程技术网

如何在joomla中用php动态设置og:image元标记?

如何在joomla中用php动态设置og:image元标记?,php,html,facebook,joomla,meta-tags,Php,Html,Facebook,Joomla,Meta Tags,我正在尝试为joomla 1.5网站动态设置og:image元标记,并在url的一部分设置逻辑 代码如下: <?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/sit

我正在尝试为joomla 1.5网站动态设置og:image元标记,并在url的一部分设置逻辑

代码如下:

<?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包含basket,我想使用image Basketball.png,else LOGO.jpg

如果我在浏览器中查看源代码,我会看到正确的属性,但当在facebook上粘贴链接时,我总是会看到徽标图像(否则)

有两个示例页面:


在Joomla中,您可以动态设置og:属性或元标记,如下所示

$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.'" />' );
$doc=&JFactory::getDocument();
如果($shareTitle!='')
$doc->addCustomTag(“”);
如果($shareDesc!='')
$doc->addCustomTag(“”);
如果($shareImg!='')
$doc->addCustomTag(“”);
你也可以查一下

facebook也有缓存问题,可以调试


希望这对您有所帮助。

我认为问题是由更改我的url所导致的:

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


但是当加载meta标记时,它会加载url字符串中没有basket的原始url,因此它会加载标准图像。

谢谢,但我认为$shareImg是joomla文章的图像,但我希望始终为整个部分设置相同的图像(例如,basketball foto用于“basket”部分,足球照片用于“calcio”部分)@MigioB这不是Joomla的文章图像这些是虚拟变量你可以为每一篇文章设置你想要的任何东西。
http://astel-teglio.it/site/it/minibasket/stagione-20132014/scoiattoli/317--morbegno--molino-tudori-teglio-12-12.html