CakePHP + Facebook元数据无法正确呈现

时间:2012-08-01 19:08:27

标签: facebook cakephp-2.0 meta-tags

我的应用程序使用数据库记录的信息动态呈现Facebook元(og:title,og:title)。

当我从浏览器中单击查看源时,我看到记录正确呈现。 但是,当我使用Facebook调试器(https://developers.facebook.com/tools/debug)查看完全相同的页面时,元标记的值为空,这意味着它不会从我的数据库中读取。

之前遇到类似问题的人,似乎应用程序的速度不足以呈现数据库记录?

代码 这是布局文件中的内容:

<?php 
// for Facebook
if(!isset($meta_title)) {
    $meta_title = 'Default title';
}
if(!isset($meta_location)) {
    $meta_location = FULL_BASE_URL.$this->here;
}
if(!isset($meta_image)) {
    $meta_image = FULL_BASE_URL.$this->webroot.'img/facebook-icon.gif';
}
if(!isset($meta_type)) {
    $meta_type = 'article';
}
if(!isset($meta_des)){
    $meta_des = 'Default title';
}   
?>

<meta property="og:site_name" content="<?php echo __('SgVoucher'); ?>"/>
<meta property="og:type" content="<?php echo $meta_type; ?>"/>
<meta property="og:title" content="<?php echo $meta_title; ?>"/>   
<meta property="og:url" content="<?php echo $meta_location; ?>"/>
<meta property="og:image" content="<?php echo $meta_image; ?>"/>
<meta property="og:description" content="<?php echo $meta_des; ?>"/>

在控制器中,我重试了数据库记录以提供动态标题。

//in the controller
$dynamic = $this->Model->find('first'....);
$this->set('meta_title',$dynamic['Table']['field']

但它从未在数据库中显示正确的内容,它始终显示来自Facebook调试器的“默认标题”,但是当您单击查看源时它是正确的。

链接     如果它有助于调试,则链接位于http://www.sgvoucher.com/deals/view/free_ipad_with_wi-fi_16gb_3rd_generation_giveaway

0 个答案:

没有答案