Kolejne zmiany na stronie.
Wczoraj dodałem do strony moduł Pagination (Node), który pozwala na dzielenie treści na mniejsze kawałki (podstrony). Jest to takie wirtualne dzielenie, ponieważ wpis cały czas jest w jednym kawałku, jednak w treści przewijają się specjalne znaki kończące stronę. Przykład działania można zaobserować we wpisie o TinyMCE.
Dla mnie moduł był prawie idealny - brakowało mu jednej rzeczy. Zależało mi na wyświetlaniu spisu zawartości w bloku, a nie jako osobny div w zawartości wpisu, a samo 1 2 3 4 ... nie wystarcza. Dlatego postanowiłem napisać małe rozszerzenie do Pagination. Opiera się o rozwiązania zastosowane już w module i generalnie Ameryki nie odkryłem, poprostu upchnąłem rzeczony wcześniej div do bloku który jest wyświetlany tylko kiedy div z zawartością byłby wyświetlany.
Aby zastosować moją modyfikacje należy dodać na końcu pliku pagination.module dodać:
- /**
- * Implementation of hook_block();
- */
- if ($op == 'list') {
- return $blocks;
- }
- else if ($op == 'view') {
- if($delta == 0) {
- // disable block on start
- $block = null;
- // it's not front page
- if(!drupal_is_front_page()) {
- // shows only on ?=node/$nid page
- $node = node_load(arg(1));
- $type = $node->type;
- $page = _get_page_var();
- $pages = _get_pages();
- $paging = _get_pagination_value($type);
- // paging is enabled for this node type, and dont show on all node, and number of pages is more then 1
- if($paging && $page !== 'show' && $pages > 1) {
- 'content' => theme('item_list', _header('all', _get_page_var() ), null, 'ul', array('class' => 'toc-list') ));
- }
- }
- }
- }
- return $block;
- }
- }
następnie włączyć blok i ustawić styl wyświetlania pagera na domyślny.
Poprawkę wysłałem na stronę modułu, może autorzy dorzucą to do kolejnego wydania :).
Oprócz tego ładnie wystylizowałem ów spis treści a żeby miniblogowi nie było smutno też został przyzdobiony.


Ostatnie odpowiedzi
10 tygodni 6 dni temu
37 tygodni 6 dni temu
47 tygodni 1 dzień temu
1 rok 1 tydzień temu
1 rok 7 tygodni temu
1 rok 7 tygodni temu
1 rok 13 tygodni temu
1 rok 13 tygodni temu
1 rok 28 tygodni temu
1 rok 28 tygodni temu