9.2 Начало работы с Zend_Paginator. Простые примеры

Zend, “Getting Started with Zend_Paginator. Simple Examples”, public translation into Russian from English More about this translation.

See also 44 similar translations

Translate into another language.

Participants

antdmi 565 points
Join Translated.by to translate! If you already have a Translated.by account, please sign in.
If you do not want to register an account, you can sign in with OpenID.
Pages: ← previous Ctrl next
1 2

Getting Started with Zend_Paginator. Simple Examples

9.2 Начало работы с Zend_Paginator. Простые примеры

History of edits (Latest: antdmi 6 years, 7 months ago) §

In this first example we won't do anything spectacular, but hopefully it will give you a good idea of what Zend_Paginator is designed to do. Let's say we have an array called $data with the numbers 1 to 100 in it, which we want to divide over a number of pages. We can use the static factory() method in the Zend_Paginator class to get a Zend_Paginator object with our array in it.

В этом первом примере мы не будем делать ни чего впечатляющего, но надеюсь это дат вам хорошее понимание для чего предназначен Zend_Paginator. Допустим у нас есть массив $data с номерами от 1 до 100, и мы его хотим разделить на несколько страниц. Мы можем использовать статический метод factory() в классе Zend_Paginator что бы получить объект Zend_Paginator с нашим массивом в нем.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  01. // Create an array with numbers 1 to 100

01. // Создание массива с номерами от 1 до 100

History of edits (Latest: antdmi 6 years, 7 months ago) §

  02. $data = range(1, 100);

02. $data = range(1, 100);

History of edits (Latest: antdmi 6 years, 7 months ago) §

  03.  

03.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  04. // Get a Paginator object using Zend_Paginator's built-in factory.

04. // Получение объекта Paginator используя встроенную фабрику Zend_Paginator.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  05. $paginator = Zend_Paginator::factory($data);

05. $paginator = Zend_Paginator::factory($data);

History of edits (Latest: antdmi 6 years, 7 months ago) §

We're already almost done! The $paginator variable now contains a reference to the Paginator object. By default it is setup to display 10 items per page. To display the items for the currently active page, all you need to do is iterate over the Paginator object with a foreach loop. The currently active page defaults to the first page if it's not explicitly specified. We will see how you can select a specific page later on. The snippet below will display an unordered list containing the numbers 1 to 10, which are the numbers on the first page.

Уже почти все готово. Переменная $paginator теперь содержит ссылку на объект Paginator. По умолчанию вывод настроен по 10 элементов на страницу. Для вывода элементов на текущей активной странице все что вам нужно, это сделать итерацию над объектом Paginator в цикле foreach. Текущая активная страница по умолчанию это первая страница, если явно не установленно другое. Позже мы увидим как можно установить конкретную страницу. Фрагмент ниже выведет ненумерованный список содержащий номера от 1 до 10, которые являются номерами первой страницы.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  01. // Create an array with numbers 1 to 100

01. // Создание массива с номерами от 1 до 100

History of edits (Latest: antdmi 6 years, 7 months ago) §

  02. $data = range(1, 100);

02. $data = range(1, 100);

History of edits (Latest: antdmi 6 years, 7 months ago) §

  03.  

03.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  04. // Get a Paginator object using Zend_Paginator's built-in factory.

04. // Получение объекта Paginator используя встроенную фабрику Zend_Paginator.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  05. $paginator = Zend_Paginator::factory($data);

05. $paginator = Zend_Paginator::factory($data);

History of edits (Latest: antdmi 6 years, 7 months ago) §

  06.  

06.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  07. ?><ul><?php

07. ?><ul><?php

History of edits (Latest: antdmi 6 years, 7 months ago) §

  08.  

08.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  09. // Render each item for the current page in a list-item

09. // Отображение каждого элемента для текущей страницы в списке элементов.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  10. foreach ($paginator as $item) {

10. foreach ($paginator as $item) {

History of edits (Latest: antdmi 6 years, 7 months ago) §

  11.     echo '<li>' . $item . '</li>';

11. echo '<li>' . $item . '</li>';

History of edits (Latest: antdmi 6 years, 7 months ago) §

  12. }

12. }

History of edits (Latest: antdmi 6 years, 7 months ago) §

  13.  

13.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  14. ?></ul>

14. ?></ul>

History of edits (Latest: antdmi 6 years, 7 months ago) §

Now let's try and render the items on the second page. You can use the setCurrentPageNumber() method to select which page you want to view.

Теперь давайте попробуем вывести элементы второй страницы. Можно использовать метод setCurrentPageNumber() для выделения страницы, которую вы хотите отобразить.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  01. // Create an array with numbers 1 to 100

01. // Создание массива с номерами от 1 до 100

History of edits (Latest: antdmi 6 years, 7 months ago) §

  02. $data = range(1, 100);

02. $data = range(1, 100);

History of edits (Latest: antdmi 6 years, 7 months ago) §

  03.  

03.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  04. // Get a Paginator object using Zend_Paginator's built-in factory.

04. // Получение объекта Paginator используя встроенную фабрику Zend_Paginator.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  05. $paginator = Zend_Paginator::factory($data);

05. $paginator = Zend_Paginator::factory($data);

History of edits (Latest: antdmi 6 years, 7 months ago) §

  06.  

06.

History of edits (Latest: antdmi 6 years, 7 months ago) §

  07. // Select the second page

07. // Выделение второй страницы

History of edits (Latest: antdmi 6 years, 7 months ago) §

  08. $paginator->setCurrentPageNumber(2);

08. $paginator->setCurrentPageNumber(2);

History of edits (Latest: antdmi 6 years, 7 months ago) §
Pages: ← previous Ctrl next
1 2