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

Gub*_*ooo 4 facebook zend-framework meta-tags facebook-graph-api

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

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

这是同一个问题: Zend框架:元属性集成

我已经尝试过做的建议了 - 但它不起作用这就是我在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))

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

Adr*_*rld 7

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

// <meta property= ... /> is only supported with doctype RDFa
Run Code Online (Sandbox Code Playgroud)

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

$this->view->doctype('XHTML1_RDFA');  // controller
$this->doctype('XHTML1_RDFA');  // view
Run Code Online (Sandbox Code Playgroud)