使用 DB2 pureXML 和 PHP 构建 Support Knowledge Base(下)
2010-02-25 00:00:00 来源:WEB开发网该脚本将查找两个参数:一个 id 和一个动作标识符(action indicator),其值可以是 “A”(Approve)或 “R”(Reject)。根据这个标识符,它将选中的评论标记为已批准或已拒绝,然后将用户重定向回 Moderate Comments 页面。
这就是管理页面的最后一项功能 — 接下来我们要创建应用程序的最终用户将要看到的非常重要的客户端页面。
创建用户界面
在本小节中,您将创建用户在使用应用程序时看到的主要界面。
用户界面包含以下 4 个页面:
Home — 显示最新文章的列表,评分最高的文章和浏览最多的文章。
Search Results — 显示标题或内容与用户在搜索表单中输入的搜索词匹配的文章的列表,搜索表单显示在应用程序的每个页面的顶部。
View Category — 显示属于某个特定类别的所有文章。
View Article — 在上面列出的三个页面中单击文章的标题,将把用户带到 View Article 页面。该页面显示有关文章及其主要内容的 Meta 信息。它将在文章的左侧显示任何批准的评论和当前的评价评分。它还包含一个评分表单和一个评论表单,允许用户对文章评分或发表评论(由管理员决定是否批准)。
创建主页面
Home 页面是用户第一次启动应用程序时看到的页面。因此,您会希望该页面显示最新的文章、评分最高的文章以及浏览量最高的文章。
清单 25 包含 index.php 文件的一个片段,其中包含应用程序主页面的代码。下载 部分的源代码包含完整的文件。将 index.php 文件保存到项目的根目录中。
清单 25. index.php 的片段
...
$article = new Article;
$newest_articles = $article->getTopArticles("date_created DESC");
$highest_rated_articles = $article->getHighestRatedArticles();
$most_viewed_articles = $article->getTopArticles("view_count DESC");
...
<div class="box_content">
<?php
if(is_array($newest_articles) && count($newest_articles) > 0) {
for($i = 0; $i < count($newest_articles); $i++) {
$art_id = $newest_articles[$i][0];
$art_title = $newest_articles[$i][1];
$art_dc = $newest_articles[$i][2];
$art_vc = $newest_articles[$i][3];
$comments = $article->countCommentsByArticleId($art_id);
$rating = $article->getRatingByArticleId($art_id);
$rating_count = $rating['rating_count'];
$rating_average = number_format($rating['rating_average'], 2, '.', '');
if($rating_average == 0) $rating_average = "Not yet rated";
if(($i+1) % 2 == 0) echo '<div class="box_item">';
else echo '<div class="box_item odd">';
echo '<div class="box_item_title"><a
href="article_view.php?id='.$art_id.'">'.$art_title.'</a></div>';
echo '<div class="box_item_date">'.$art_dc.'</div>';
echo '<div class="box_item_category">'.$art_vc.'
view(s)</div>';
echo '<div class="box_item_comments">'.$comments.'
Comment(s)</div>';
echo '<div class="box_item_rating">Rating: '.$rating_average.'
('.$rating_count.' votes)</div>';
echo '<div class="clear"> </div>';
echo '</div>';
}
} else {
echo '<div>No articles found.</div>';
}
?>
</div>
</div>
...
更多精彩
赞助商链接