【发布时间】:2014-02-05 20:23:26
【问题描述】:
我对 silverstripe 和 php 完全陌生,所以这对我来说是一个相当大的学习曲线。我非常熟悉诸如 Rails 之类的 MVC 框架,所以我不认为我完全迷失了;但是我现在确实花了好几天的时间,但我似乎无法弄清楚。
我正在尝试在我的网站上实现标签功能。例如,我有 ArticleHolder,其中列出了 ArticleNews,并且我在 ArticleNews 中创建了一个名为 Tags 的文本字段。用户可以在创建新文章时输入标签并用逗号分隔。
我不知道该怎么做是抓取所有新闻文章,按标签搜索,然后只返回那些包含标签新闻的文章。
public function PaginatedPages() {
$paginatedItems = new PaginatedList(getNewsArticles()->sort('Date DESC'), $this->request);
$paginatedItems->setPageLength(3);
return $paginatedItems;
}
public function getNewsArticles(){
$newsArticles = ArticlePage::get();
foreach ($newsArticles as article){
$categories = article::get('category');
}
return $newsArticles;
}
我不确定如何从标签文本字段中获取数据,然后检查新闻是否在其中。如果不是,我想从 $newsArticles 中删除它。
这是我的第二个问题,如何从 $newsArticle 中删除 ArticleNews。
我的第三个问题是,我可以在数据库端这样做吗?因此,只需从标签包含单词 News 的数据库中获取 ::get()。分隔符是逗号','
【问题讨论】:
-
Silverstripe 博客模块可以。查看代码以获得一些帮助:github.com/silverstripe/silverstripe-blog/tree/master/code 查看 BlogEntry.php 和 BlogTree.php
-
今晚晚些时候我会看看。谢谢!
标签: php silverstripe