SilverStripe检索DataObject上的MetaTags(param)作为页面

时间:2016-11-18 12:52:56

标签: php silverstripe

将DataObject用作页面时,MetaTags(false|true)将失去其功能。你怎么能让它发挥作用?

检索DataObject的控制器操作

public function article(SS_HTTPRequest $request) {
    $article = NewsArticle::get()->find("URL", $request->param('ID'));

    if(!$article) {
        return $this->httpError(404);
    }

    return array (
        'Article' => $article,
        'Title' => $article->Title,
        'MetaDescription' => $article->MetaDescription
    );
}

1 个答案:

答案 0 :(得分:1)

MetaTags函数位于SilverStripes sitetree class

只需将其复制到您的新闻数据对象并进行调整即可满足您的需求。

如果你想在页面中显示比那个更多的数据对象,你应该考虑在一个类中包装所有基本的东西,比如urlsegment,metatags,link ......而不仅仅是扩展它。

还有一个模块DataObject-as-Page