Zend_Paginator-Usage.xml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 16153 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.paginator.usage">
  5. <title>Verwendung</title>
  6. <sect2 id="zend.paginator.usage.paginating">
  7. <title>Seitendarstellung von Datensammlungen</title>
  8. <para>
  9. Um Elemente in Seiten darzustellen muß <classname>Zend_Paginator</classname> einen
  10. generellen Weg des Zugriffs auf diese Daten haben. Für diesen Zweck, läuft jeder
  11. Datenzugriff über Datenquellen Adapter. Verschiedene Adapter werden mit dem Zend
  12. Framework standardmäßig ausgeliefert:
  13. </para>
  14. <table id="zend.paginator.usage.paginating.adapters">
  15. <title>Adapter für Zend_Paginator</title>
  16. <tgroup cols="2">
  17. <thead>
  18. <row>
  19. <entry>Adapter</entry>
  20. <entry>Beschreibung</entry>
  21. </row>
  22. </thead>
  23. <tbody>
  24. <row>
  25. <entry>Array</entry>
  26. <entry>Verwendet ein PHP Array</entry>
  27. </row>
  28. <row>
  29. <entry>DbSelect</entry>
  30. <entry>
  31. Verwendet eine Instanz von <link
  32. linkend="zend.db.select"><classname>Zend_Db_Select</classname></link>,
  33. welche ein Array zurückgibt
  34. </entry>
  35. </row>
  36. <row>
  37. <entry>DbTableSelect</entry>
  38. <entry>
  39. Verwendet eine Instanz von <link
  40. linkend="zend.db.table.fetch-all"><classname>Zend_Db_Table_Select</classname></link>,
  41. welche eine Instanz von
  42. <classname>Zend_Db_Table_Rowset_Abstract</classname> zurückgibt. Das
  43. gibt zusätzliche Information pber das Ergebnisset, wie z.B. die Namen
  44. der Spalten.
  45. </entry>
  46. </row>
  47. <row>
  48. <entry>Iterator</entry>
  49. <entry>
  50. Verwendet eine Instanz von
  51. <ulink url="http://www.php.net/~helly/php/ext/spl/interfaceIterator.html"><code>Iterator</code></ulink>
  52. </entry>
  53. </row>
  54. <row>
  55. <entry>Null</entry>
  56. <entry>
  57. <classname>Zend_Paginator</classname> nicht für das Verwalten von
  58. seitenweisen Daten verwenden. Man kann trotzdem die Vorteile des
  59. Features der Seitenkontrolle verwenden.
  60. </entry>
  61. </row>
  62. </tbody>
  63. </tgroup>
  64. </table>
  65. <note>
  66. <para>
  67. Statt jede passende Zeile einer gegebenen Abfrage auszuwählen, empfangen die
  68. DbSelect und DbTableSelect Adapter nur die kleinste Anzahl an Daten die für die
  69. Darstellung der aktuellen Seite notwendig sind.
  70. </para>
  71. <para>
  72. Deswegen wird dynamisch eine zweite Abfrage erzeugt um die komplette Anzahl an
  73. passenden Zeilen festzustellen. Trotzdem ist es möglich die Anzahl oder die Abfrage
  74. für die Anzahl selbst direkt zu übergeben. Siehe die <code>setRowCount()</code>
  75. Methode im DbSelect Adapter für weitere Informationen.
  76. </para>
  77. </note>
  78. <para>
  79. Um eine Instanz von <classname>Zend_Paginator</classname> zu erstellen, muß ein Adapter
  80. an den Konstruktor übergeben werden:
  81. </para>
  82. <para>
  83. <programlisting language="php"><![CDATA[
  84. $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Array($array));
  85. ]]></programlisting>
  86. </para>
  87. <para>
  88. Der Einfachheit halber kann man für die mit dem Zend Framework mitgelieferten Adapter
  89. die statische <code>factory()</code> verwenden:
  90. </para>
  91. <para>
  92. <programlisting language="php"><![CDATA[
  93. $paginator = Zend_Paginator::factory($array);
  94. ]]></programlisting>
  95. </para>
  96. <note>
  97. <para>
  98. Im Falle des Null Adapters, muß dem Konstruktor eine Elementanzahl mitgegeben werden
  99. da keine Datensammlung vorliegt.
  100. </para>
  101. </note>
  102. <para>
  103. Auch wenn die Instanz in diesem Fall technische zu verwenden ist, muß in der Controller
  104. Aktion der Seitendarstellung mitgeteilt werden welche Seitennummer der Benutzer
  105. angefragt hat. Das erlaubt Ihm auf die seitenweisen Daten zuzugreifen.
  106. </para>
  107. <para>
  108. <programlisting language="php"><![CDATA[
  109. $paginator->setCurrentPageNumber($page);
  110. ]]></programlisting>
  111. </para>
  112. <para>
  113. Der einfachste Weg um diesen Wert zu verfolgen ist über eine URL. Auch wenn wir
  114. empfehlen einen <classname>Zend_Controller_Router_Interface</classname>-kompatiblen
  115. Router zu verwenden um dies zu bewerkstelligen, ist das keine Notwendigkeit.
  116. </para>
  117. <para>
  118. Das folgende ist eine Beispielroute die in einer INI Konfigurationsdatei verwendet
  119. werden könnte:
  120. </para>
  121. <para>
  122. <programlisting language="php"><![CDATA[
  123. routes.example.route = articles/:articleName/:page
  124. routes.example.defaults.controller = articles
  125. routes.example.defaults.action = view
  126. routes.example.defaults.page = 1
  127. routes.example.reqs.articleName = \w+
  128. routes.example.reqs.page = \d+
  129. ]]></programlisting>
  130. </para>
  131. <para>
  132. Mit der obigen Route (und der Verwendung der Zend Framework MVC Komponenten), kann die
  133. aktuelle Seitenzahl wie folgt gesetzt werden:
  134. </para>
  135. <para>
  136. <programlisting language="php"><![CDATA[
  137. $paginator->setCurrentPageNumber($this->_getParam('page'));
  138. ]]></programlisting>
  139. </para>
  140. <para>
  141. Es sind auch andere Optionen vorhanden; siehe
  142. <link linkend="zend.paginator.configuration">Konfiguration</link> für zusätzliche
  143. Informationen.
  144. </para>
  145. <para>
  146. Schlußendlich muß die Paginator Instanz der View angehängt werden. Wenn
  147. <classname>Zend_View</classname> mit dem ViewRenderer Action Helfer verwendet wird, dann
  148. funktioniert das folgende:
  149. </para>
  150. <para>
  151. <programlisting language="php"><![CDATA[
  152. $this->view->paginator = $paginator;
  153. ]]></programlisting>
  154. </para>
  155. </sect2>
  156. <sect2 id="zend.paginator.usage.dbselect">
  157. <title>Die Adapter DbSelect und DbTableSelect</title>
  158. <para>
  159. Die Verwendung der meisten Adapter ist recht zielgerichtet. Trotzdem benötigen die
  160. Datenbank Adapter detailiertere Erklärungen. Im Gegensatz zur üblichen Meinung holen
  161. diese Adapter NICHT alle Einträge von der Datenbank um sie zu zählen. Stattdessen
  162. manipuliert der Adapter die originale Abfrage um die entsprechende COUNT Abfrage zu
  163. erzeugen. Paginator führt dann diese COUNT Abfrage aus um die Anzahl der Zeilen zu
  164. erhalten. Das erfordert eine zusätzliche Beanspruchung der Datenbank, ist aber um ein
  165. vielfaches schneller als das komplette Ergebnisset zu holen und count() zu verwenden.
  166. Speziell bei einer großen Anzahl an Daten.
  167. </para>
  168. <para>
  169. Der Datenbank Adapter versucht die effizienteste Abfrage zu erstellen die auf ziemlich
  170. allen modernen Datenbanken ausgefürt wird. Trotzdem ist es möglich das, abhängig von
  171. der eigenen Datenbank oder sogar dem Setup des eigenen Schemas, ein effizienterer Weg
  172. existiert um die Anzahl der Zeilen zu erhalten. Für dieses Szenario erlaubt es der
  173. Datenbank Adapter eine eigene COUNT Abfrage zu setzen. Wenn man zum Beispiel die
  174. Anzahl der Blog Posts in einer eigenen Tabelle speichert, kann eine schnellere Abfrage
  175. der Anzahl mit dem folgenden Setup erreicht werden:
  176. </para>
  177. <programlisting language="php"><![CDATA[
  178. $adapter = new Zend_Paginator_Adapter_DbSelect($db->select()->from('posts'));
  179. $adapter->setRowCount(
  180. $db->select()->from('item_counts', array(Zend_Paginator_Adapter_DbSelect::ROW_COUNT_COLUMN => 'post_count'))
  181. )
  182. $paginator = new Zend_Paginator($adapter);
  183. ]]></programlisting>
  184. <para>
  185. Dieser Ansatz wird jetzt wahrscheinlich keine große Performance Verbesserung bei
  186. kleinen Datemengen und oder einfachen Abfragen ergeben. Aber bei komplexen Abfragen
  187. und großen Datenmengen kann ein ähnlicher Weg eine signifikante Performance
  188. Verbesserung ergeben.
  189. </para>
  190. </sect2>
  191. <sect2 id="zend.paginator.rendering">
  192. <title>Seiten mit View Skripten darstellen</title>
  193. <para>
  194. Das View Skript wird verwendet um die Seitenelemente darzustellen (wenn
  195. <classname>Zend_Paginator</classname> verwendet wird um das zu tun) und die
  196. Seitenkontrollen anzuzeigen.
  197. </para>
  198. <para>
  199. Weil <classname>Zend_Paginator</classname> Das SPL Interface
  200. <ulink url="http://www.php.net/~helly/php/ext/spl/interfaceIteratorAggregate.html"><code>IteratorAggregate</code></ulink>
  201. integriert, ist das Durchlaufen von Elementen und deren Darstellung einfach.
  202. </para>
  203. <para>
  204. <programlisting language="php"><![CDATA[
  205. <html>
  206. <body>
  207. <h1>Beispiel</h1>
  208. <?php if (count($this->paginator)): ?>
  209. <ul>
  210. <?php foreach ($this->paginator as $item): ?>
  211. <li><?php echo $item; ?></li>
  212. <?php endforeach; ?>
  213. </ul>
  214. <?php endif; ?>
  215. <?php echo $this->paginationControl($this->paginator,
  216. 'Sliding',
  217. 'my_pagination_control.phtml'); ?>
  218. </body>
  219. </html>
  220. ]]></programlisting>
  221. </para>
  222. <para>
  223. Der Aufruf des View Helfers fast am Ende ist zu beachten. PaginationControl nimmt bis zu
  224. vier Parameter: die Paginator Instanz, einen Scrolling Stil, eine partielle View und ein
  225. Array von zusätzlichen Parametern.
  226. </para>
  227. <para>
  228. Die zweiten und dritten Parameter sind sehr wichtig. Wobei die partielle View verwendet
  229. wird um festzustellen wie die Seitenkontrollen <emphasis>aussehen</emphasis> sollten,
  230. und der Scrolling Stil verwendet wird um zu kontrollieren wie er sich
  231. <emphasis>verhalten</emphasis> sollte. Angenommen die partielle View ist im Stil einer
  232. Suchseiten Kontrolle, wie anbei:
  233. </para>
  234. <para>
  235. <inlinegraphic align="center" valign="middle"
  236. fileref="figures/zend.paginator.usage.rendering.control.png"
  237. format="PNG"/>
  238. </para>
  239. <para>
  240. Was passiert wenn der Benutzer den "next" Link ein paar Mal anklickt? Nun, viele Dinge
  241. könnten geschehen. Die aktuelle Seitennummer könnte in der Mitte stehen wärend man
  242. durchklickt (wie Sie es auf Yahoo macht!), oder Sie könnte bis zum Ende des
  243. Seitenbereichs ansteigen und dann auf der linken Seite erscheinen wenn der Benutzer ein
  244. weiteres Mal "next" klickt. Die Seitennummer könnte sogar größer und kleiner werden
  245. wärend der Benutzer auf sie zugreift (oder "scrollt). (wie es auf Google geschieht).
  246. </para>
  247. <para>
  248. Es gibt view Scrolling Stile die mit dem Zend Framework geliefert werden:
  249. </para>
  250. <table id="zend.paginator.usage.rendering.scrolling-styles">
  251. <title>Scrolling Stile für Zend_Paginator</title>
  252. <tgroup cols="2">
  253. <thead>
  254. <row>
  255. <entry>Scrolling Stil</entry>
  256. <entry>Beschreibung</entry>
  257. </row>
  258. </thead>
  259. <tbody>
  260. <row>
  261. <entry>All</entry>
  262. <entry>
  263. Gibt alle Seiten zurück. Das ist für Seitenkontrollen mit Dropdownmenüs
  264. nützlich wenn Sie relativ wenig Seiten haben. In diesen Fällen ist es
  265. oft gewünscht alle vorhandenen Seiten dem Benutzer auf einmal
  266. anzuzeigen.
  267. </entry>
  268. </row>
  269. <row>
  270. <entry>Elastic</entry>
  271. <entry>
  272. Eine Google-artiger Scrolling Stil der sich erweitert und verkleinert
  273. wenn ein Benutzer durch die Seiten scrollt.
  274. </entry>
  275. </row>
  276. <row>
  277. <entry>Jumping</entry>
  278. <entry>
  279. Wenn Benutzer scrollen, steigt die Seitenzahl bis zum Ende eines
  280. gegebenen Bereichs, und startet anschließend wieder beim Beginn eines
  281. neuen Bereichs.
  282. </entry>
  283. </row>
  284. <row>
  285. <entry>Sliding</entry>
  286. <entry>
  287. Ein Yahoo!-artiger Scrolling Stil der die aktuelle Seitenzahl in der
  288. Mitte des Seitenbereichs platziert, oder so nahe wie möglich. Das ist
  289. der Standardstil.
  290. </entry>
  291. </row>
  292. </tbody>
  293. </tgroup>
  294. </table>
  295. <para>
  296. Der vierte und letzte Parameter ist reserviert für ein assoziatives Array an
  297. zusätzlichen Variablen das in der partiellen View vorhanden sein sill (über
  298. <code>$this</code>). Für Instanzen, können diese Werte extra URL Parameter für
  299. Seitendarstellungslinks enthalten.
  300. </para>
  301. <para>
  302. Durch das Setzen von einer standardmäßigen partiellen View, einem standardmäßigen
  303. Scrolling Stil und einer View Instanz kann dei Aufruf der PaginationControl komplett
  304. eliminiert werden:
  305. </para>
  306. <para>
  307. <programlisting language="php"><![CDATA[
  308. Zend_Paginator::setDefaultScrollingStyle('Sliding');
  309. Zend_View_Helper_PaginationControl::setDefaultViewPartial(
  310. 'my_pagination_control.phtml'
  311. );
  312. $paginator->setView($view);
  313. ]]></programlisting>
  314. </para>
  315. <para>
  316. Wenn alle diese Werte gesetzt sind, kann die Seitenkontrolle im View Skript mit einem
  317. einfachen echo Statement dargestellt werden:
  318. </para>
  319. <para>
  320. <programlisting language="php"><![CDATA[
  321. <?php echo $this->paginator; ?>
  322. ]]></programlisting>
  323. </para>
  324. <note>
  325. <para>
  326. Natürlich ist es möglich <classname>Zend_Paginator</classname> mit anderen Template
  327. Engines zu verwenden. Mit Smarty zum Beispiel, würde man das folgendermaßen
  328. bewerkstelligen:
  329. </para>
  330. <para>
  331. <programlisting language="php"><![CDATA[
  332. $smarty->assign('pages', $paginator->getPages());
  333. ]]></programlisting>
  334. </para>
  335. <para>
  336. Man könnte die Seitenverte von einem Template wie folgt erhalten:
  337. </para>
  338. <para>
  339. <programlisting language="php"><![CDATA[
  340. {$pages.pageCount}
  341. ]]></programlisting>
  342. </para>
  343. </note>
  344. <sect3 id="zend.paginator.usage.rendering.example-controls">
  345. <title>Beispiel der Seitenkontrolle</title>
  346. <para>
  347. Das folgende Beispiel von Seitenkontrollen wird Ihnen hoffentlich helfen um erstmals
  348. anzufangen:
  349. </para>
  350. <para>
  351. Such-Seitendarstellung
  352. <programlisting language="php"><![CDATA[
  353. <!--
  354. Siehe http://developer.yahoo.com/ypatterns/pattern.php?pattern=searchpagination
  355. -->
  356. <?php if ($this->pageCount): ?>
  357. <div class="paginationControl">
  358. <!-- Vorheriger Seitenlink -->
  359. <?php if (isset($this->previous)): ?>
  360. <a href="<?php echo $this->url(array('page' => $this->previous)); ?>">
  361. &lt; Vorher
  362. </a> |
  363. <?php else: ?>
  364. <span class="disabled">&lt; Vorher</span> |
  365. <?php endif; ?>
  366. <!-- Anzahl an Seitenlinks -->
  367. <?php foreach ($this->pagesInRange as $page): ?>
  368. <?php if ($page != $this->current): ?>
  369. <a href="<?php echo $this->url(array('page' => $page)); ?>">
  370. <?php echo $page; ?>
  371. </a> |
  372. <?php else: ?>
  373. <?php echo $page; ?> |
  374. <?php endif; ?>
  375. <?php endforeach; ?>
  376. <!-- Nächster Seitenlink -->
  377. <?php if (isset($this->next)): ?>
  378. <a href="<?php echo $this->url(array('page' => $this->next)); ?>">
  379. Nächster &gt;
  380. </a>
  381. <?php else: ?>
  382. <span class="disabled">Nächster &gt;</span>
  383. <?php endif; ?>
  384. </div>
  385. <?php endif; ?>
  386. ]]></programlisting>
  387. </para>
  388. <para>
  389. Element Seitendarstellung
  390. <programlisting language="php"><![CDATA[
  391. <!--
  392. Siehe http://developer.yahoo.com/ypatterns/pattern.php?pattern=itempagination
  393. -->
  394. <?php if ($this->pageCount): ?>
  395. <div class="paginationControl">
  396. <?php echo $this->firstItemNumber; ?> - <?php echo $this->lastItemNumber; ?>
  397. of <?php echo $this->totalItemCount; ?>
  398. <!-- First page link -->
  399. <?php if (isset($this->previous)): ?>
  400. <a href="<?php echo $this->url(array('page' => $this->first)); ?>">
  401. First
  402. </a> |
  403. <?php else: ?>
  404. <span class="disabled">First</span> |
  405. <?php endif; ?>
  406. <!-- Vorheriger Seitenlink -->
  407. <?php if (isset($this->previous)): ?>
  408. <a href="<?php echo $this->url(array('page' => $this->previous)); ?>">
  409. &lt; Vorheriger
  410. </a> |
  411. <?php else: ?>
  412. <span class="disabled">&lt; Vorheriger</span> |
  413. <?php endif; ?>
  414. <!-- Next page link -->
  415. <?php if (isset($this->next)): ?>
  416. <a href="<?php echo $this->url(array('page' => $this->next)); ?>">
  417. Nächster &gt;
  418. </a> |
  419. <?php else: ?>
  420. <span class="disabled">Nächster &gt;</span> |
  421. <?php endif; ?>
  422. <!-- Last page link -->
  423. <?php if (isset($this->next)): ?>
  424. <a href="<?php echo $this->url(array('page' => $this->last)); ?>">
  425. Last
  426. </a>
  427. <?php else: ?>
  428. <span class="disabled">Last</span>
  429. <?php endif; ?>
  430. </div>
  431. <?php endif; ?>
  432. ]]></programlisting>
  433. </para>
  434. <para>
  435. Dropdown Seitendarstellung
  436. <programlisting language="php"><![CDATA[
  437. <?php if ($this->pageCount): ?>
  438. <select id="paginationControl" size="1">
  439. <?php foreach ($this->pagesInRange as $page): ?>
  440. <?php $selected = ($page == $this->current) ? ' selected="selected"' : ''; ?>
  441. <option value="<?php
  442. echo $this->url(array('page' => $page)); ?>"<?php echo $selected ?>>
  443. <?php echo $page; ?>
  444. </option>
  445. <?php endforeach; ?>
  446. </select>
  447. <?php endif; ?>
  448. <script type="text/javascript"
  449. src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js">
  450. </script>
  451. <script type="text/javascript">
  452. $('paginationControl').observe('change', function() {
  453. window.location = this.options[this.selectedIndex].value;
  454. })
  455. </script>
  456. ]]></programlisting>
  457. </para>
  458. </sect3>
  459. <sect3 id="zend.paginator.usage.rendering.properties">
  460. <title>Tabelle von Eigenschaften</title>
  461. <para>
  462. Die folgenden Optionen von für eine Seitenkontrolle bei View Partials vorhanden:
  463. </para>
  464. <table id="zend.paginator.usage.rendering.properties.table">
  465. <title>Eigenschaften die bei View Partials vorhanden sind</title>
  466. <tgroup cols="3">
  467. <thead>
  468. <row>
  469. <entry>Eigenschaft</entry>
  470. <entry>Typ</entry>
  471. <entry>Beschreibung</entry>
  472. </row>
  473. </thead>
  474. <tbody>
  475. <row>
  476. <entry>first</entry>
  477. <entry>integer</entry>
  478. <entry>Erste Seitennummer (z.B., 1)</entry>
  479. </row>
  480. <row>
  481. <entry>firstItemNumber</entry>
  482. <entry>integer</entry>
  483. <entry>
  484. Absolute Nummer des ersten Elements auf dieser Seite
  485. </entry>
  486. </row>
  487. <row>
  488. <entry>firstPageInRange</entry>
  489. <entry>integer</entry>
  490. <entry>
  491. Erste Seite des Bereichs der vom Scrolling Stil zurückgegeben wird
  492. </entry>
  493. </row>
  494. <row>
  495. <entry>current</entry>
  496. <entry>integer</entry>
  497. <entry>Aktuelle Seitenzahl</entry>
  498. </row>
  499. <row>
  500. <entry>currentItemCount</entry>
  501. <entry>integer</entry>
  502. <entry>Anzahl der Elemente auf dieser Seite</entry>
  503. </row>
  504. <row>
  505. <entry>itemCountPerPage</entry>
  506. <entry>integer</entry>
  507. <entry>
  508. Maximale Anzahl der Elemente die auf jeder Seite vorhanden sind
  509. </entry>
  510. </row>
  511. <row>
  512. <entry>last</entry>
  513. <entry>integer</entry>
  514. <entry>Letzte Seitennummer</entry>
  515. </row>
  516. <row>
  517. <entry>lastItemNumber</entry>
  518. <entry>integer</entry>
  519. <entry>
  520. Absolute Zahl des letzten Elements auf dieser Seite
  521. </entry>
  522. </row>
  523. <row>
  524. <entry>lastPageInRange</entry>
  525. <entry>integer</entry>
  526. <entry>
  527. Letzte Seite im Bereich der vom Scrolling Stil zurückgegeben wird
  528. </entry>
  529. </row>
  530. <row>
  531. <entry>next</entry>
  532. <entry>integer</entry>
  533. <entry>Nächste Seitenzahl</entry>
  534. </row>
  535. <row>
  536. <entry>pageCount</entry>
  537. <entry>integer</entry>
  538. <entry>Anzahl an Seiten</entry>
  539. </row>
  540. <row>
  541. <entry>pagesInRange</entry>
  542. <entry>array</entry>
  543. <entry>
  544. Array von Seiten das vom Scrolling Stil zurückgegeben wird
  545. </entry>
  546. </row>
  547. <row>
  548. <entry>previous</entry>
  549. <entry>integer</entry>
  550. <entry>Vorherige Seitenzahl</entry>
  551. </row>
  552. <row>
  553. <entry>totalItemCount</entry>
  554. <entry>integer</entry>
  555. <entry>Komplette Anzahl an Elementen</entry>
  556. </row>
  557. </tbody>
  558. </tgroup>
  559. </table>
  560. </sect3>
  561. </sect2>
  562. </sect1>
  563. <!--
  564. vim:se ts=4 sw=4 et:
  565. -->