1.10. 浏览所有草稿

我们已经有了一个公开文章的列表,现在让我们来建一个草稿文章列表。这里的操作和index方法和视图非常类似。

1.10.1 “Drafts”方法

找到并打开Blog.php文件。(在此示例中,我们使用vim编辑器,你可以选择自己最喜欢的)

$ vim Blog/View/read.php

加入以下代码:

<?php
    public function actionDrafts()
    {
        // draft blog articles in ascending order, all result pages
        $fetch = array(
            'where' => array('blogs.status = ?' => 'draft'),
            'order' => 'blogs.created ASC',
            'page'  => 'all',
        );
    
        // fetch all matching records
        $this->list = $this->_model->blogs->fetchAll($fetch);
    }

1.10.2 “Drafts”视图文件

为actionDrafts() 方法添加视图文件drafts.php。

$ vim Blog/View/drafts.php

给视图文件drafts.php添加以下代码:

<?php
    $title = $this->getTextRaw('TITLE_DRAFTS');
    $this->head()->setTitle($title);
?>

<h2><?php echo $this->getText('HEADING_DRAFTS'); ?></h2>

<?php if (! $this->list): ?>

    <p><?php echo $this->getText('ERR_NO_RECORDS'); ?></p>

<?php else: ?>

    <ul>
    
    <?php foreach ($this->list as $item): ?>
        <li><?php
            echo $this->escape($item->title);
            echo "&nbsp;&nbsp;";
            echo $this->action(
                "{$this->controller}/edit/{$item->id}",
                'ACTION_EDIT'
            );
        ?></li>
    
    <?php endforeach; ?>
    
    </ul>
    
<?php endif; ?>

<p><?php echo $this->action(
    "{$this->controller}/add",
    'ACTION_ADD'
); ?></p>

这张视图显示了一个草稿文章的列表,每个列表项带有修改该文章的链接。视图的底部是添加新文章的链接。

你现在可以浏览http://localhost/index.php/blog/drafts 了。