Kohana 3分页呈现错误

时间:2011-09-24 00:29:08

标签: php pagination routes kohana-3

修改

我已添加了/application目录的github存储库。

https://github.com/ashleyconnor/Egotist


我正在完成Packt Publishing的“Kohana 3:Beginner's Guide”,刚刚完成了第7章。

我遇到的问题是在我的主页上我从消息模型中呈现分页的URL,但第二个URL指向不存在的路径。

我已经突出显示了View在正确的网址之前呈现1的位置。

我遇到的另一个问题是在整个屏幕上打印随机1。这是由于我在开发模式下编码吗?

控制器:

<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Welcome extends Controller_Application {

    public function action_index()
    {
    $content = View::factory('welcome')
      ->bind('messages', $messages)
      ->bind('pager_links', $pager_links);

    $message = new Model_Message;

    $message_count = $message->count_all();

    $pagination = Pagination::factory(array(
      'total_items' => $message_count,
      'items_per_page' => 3,
    ));

    $pager_links = $pagination->render();

    $messages = $message->get_all($pagination->items_per_page, $pagination->offset);

    $this->template->content = $content;
    }

}

查看:

<h1>Recent Messages on Egotist</h1>
<?php foreach ($messages as $message) : ?>
  <p class="message">
    <?php echo $message->content; ?>
    <br />
    <span class="published">
      <?php echo Date::fuzzy_span($message->date_published); ?>
    </span>
  </p>
  <hr />
<?php endforeach; ?>

<?php echo $pager_links; ?>

输出的片段:

<p class="pagination">  
First   
Previous
<strong>1</strong>
<a href="1/?page=2">2</a> <--misbehaving
<a href="/?page=3">3</a>
<a href="/?page=4">4</a>
<a href="/?page=5">5</a>
<a href="/?page=6">6</a>
<a href="/?page=7">7</a>
<a href="/?page=8">8</a>
<a href="/?page=2" rel="next">Next</a>
<a href="/?page=8" rel="last">Last</a>
</p><!-- .pagination -->

2 个答案:

答案 0 :(得分:2)

Controller_User_AccountHTML课程中:

替换

<?php echo defined('SYSPATH') or die('No direct access allowed.');

<?php defined('SYSPATH') or die('No direct access allowed.');

答案 1 :(得分:0)

我看不出分页模块的3.0 /主版本有什么问题。

在输出期间,任何可能在该点添加“1”的内容都将在执行HTML::chars($page->url($i))期间调用。

我建议您检查您的代码库和系统库是否有对'echo'的不合适的调用。 如果您从git克隆,您应该能够检查更改,如果没有,请将其与新副本进行比较。

此外,在您的引导程序文件中,您应该将index_file选项设置为FALSE而不是空字符串。