Zend Framework - 添加属性不起作用的元标记

时间:2012-04-22 17:57:03

标签: facebook zend-framework facebook-graph-api meta-tags

我正在尝试使用facebook分享按钮,我想使用元标记动态设置标题,描述和图像

<meta property="og:title" content="title" />
<meta property="og:description" content="description" />
<meta property="og:image" content="thumbnail_image" />

这是同一个问题: Zend framework: Meta property integration

我已经尝试过做的建议 - 但它不起作用 这就是我在layout.phtml中实现的内容

<?php
$doctypeHelper = new Zend_View_Helper_Doctype();
$doctypeHelper->doctype('XHTML1_RDFA');
echo $this->doctype();
?>

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://opengraphprotocol.org/schema/">
<head>
<?php echo $this->headMeta();?>
</head>

然后在我的观点中,我尝试将元属性设置为

<?php $this->headMeta()->setProperty('og:title', 'my article title');?>

但是这段代码不会执行,而且我在呈现视图时会出现错误 -

Invalid value passed to set; please use setMeta()
C:\webserver\apache\htdocs\dezyre\trunk\library\Zend\View\Helper\HeadMeta.php(164): Zend_View_Helper_HeadMeta->set(Object(stdClass))

任何想法,这里有什么不对 谢谢你的帮助

1 个答案:

答案 0 :(得分:7)

_isValid()方法中的视图助手中有一个隐藏的宝藏

// <meta property= ... /> is only supported with doctype RDFa

不幸的是,您将获得的错误消息只是“请使用setMeta()”。您可以在控制器或视图中执行以下操作来解决此问题。

$this->view->doctype('XHTML1_RDFA');  // controller
$this->doctype('XHTML1_RDFA');  // view
相关问题