Kohana 3 нумерация страниц делает неправильно - PullRequest
3 голосов
/ 24 сентября 2011

Редактировать

Я добавил github-репозиторий моего каталога /application.

https://github.com/ashleyconnor/Egotist


Я работаю через "Kohana 3": Руководство для начинающих "из Packt Publishing и только что завершил 7-ю главу.

Проблема, с которой я столкнулся, заключается в том, что на моей домашней странице я отображаю постраничные URL-адреса из модели сообщения, но второй URL-адрес указывает на маршрут, который неСуществуют.

Я выделил, где представление отображает 1 перед правильным URL.

Другая проблема, с которой я сталкиваюсь, - это случайные 1 s, напечатанные по всему экрану.Это из-за меня кодирования в режиме разработки?

Контроллер:

<?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 ]

2 голосов
/ 27 сентября 2011

В вашем Controller_User_Account и HTML классе:

замените

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

на

<?php defined('SYSPATH') or die('No direct access allowed.');
0 голосов
/ 27 сентября 2011

Я не вижу ничего плохого в версии 3.0 / master модуля разбивки на страницы.

Все, что может добавить «1» в этот момент во время вывода, будет вызвано во время выполненияHTML::chars($page->url($i)).

Я предлагаю вам проверить вашу кодовую базу и системные библиотеки на предмет неконтролируемых вызовов 'echo'.Если вы клонировали из git, вы сможете проверить наличие изменений, если нет, сравнить его со свежей копией.

Кроме того, в вашем файле начальной загрузки вы должны установить для параметра index_file значение * 1009.* вместо пустой строки.

...