Skip to content
LarsGit223 edited this page Jun 23, 2016 · 11 revisions

This section describes creation of lists and list items.

Simple list functions

These are the basic list functions with a predefined style. These are also called for basic DokuWiki rendering and therefore the function declarations need to match the class Doku_Renderer.

listu_open($continue=false)

The function opens an unordered list. $continue specifies if numbering shall continue or not.

###listu_close() The function closes an unordered list.


listo_open($continue=false)

The function opens an ordered list. $continue specifies if numbering shall continue or not.

###listo_close() The function closes an unordered list.


listitem_open($level, $node = false)

The function opens a new list item with level $level. Parameter $node is unused.

listitem_close()

The function closes a list item.


listcontent_open()

The function opens/starts new list content.

listcontent_close()

The function closes list content.

Code examples for simple list functions

Simple unordered list

The following code:

    $renderer->listu_open();

    $renderer->listitem_open(1);
    $renderer->listcontent_open();
    $renderer->cdata('Item 1');
    $renderer->listcontent_close();
    $renderer->listitem_close();

    $renderer->listitem_open(1);
    $renderer->listcontent_open();
    $renderer->cdata('Item 2');
    $renderer->listcontent_close();
    $renderer->listitem_close();

    $renderer->listitem_open(1);
    $renderer->listcontent_open();
    $renderer->cdata('Item 3');
    $renderer->listcontent_close();
    $renderer->listitem_close();

    $renderer->listu_close();

generates an unordered list similar to this (the look differs, just notice the structure of the list):

  • Item 1
  • Item 2
  • Item 3

Simple ordered list

The following code:

    $renderer->listo_open();

    $renderer->listitem_open(1);
    $renderer->listcontent_open();
    $renderer->cdata('Item 1');
    $renderer->listcontent_close();
    $renderer->listitem_close();

    $renderer->listitem_open(1);
    $renderer->listcontent_open();
    $renderer->cdata('Item 2');
    $renderer->listcontent_close();
    $renderer->listitem_close();

    $renderer->listitem_open(1);
    $renderer->listcontent_open();
    $renderer->cdata('Item 3');
    $renderer->listcontent_close();
    $renderer->listitem_close();

    $renderer->listo_close();

generates an ordered list similar to this (the look differs, just notice the structure of the list):

  1. Item 1
  2. Item 2
  3. Item 3

So the only difference between an ordered and an unordered list are the functions called for opening and closing of the list:

  • listo_open, listo_close
  • listu_open, listu_close

The functions for opening and closing of list items and content are the same for ordered and unordered lists.

Nested ordered list

The following code:

    $renderer->listo_open();

    // Opening list item 1
    $renderer->listitem_open(1);
    $renderer->listcontent_open();
    $renderer->cdata('Item 1');

        // Nested list
        $renderer->listo_open();

        $renderer->listitem_open(2);
        $renderer->listcontent_open();
        $renderer->cdata('Item 1.1');
        $renderer->listcontent_close();
        $renderer->listitem_close(1);

        $renderer->listitem_open(2);
        $renderer->listcontent_open();
        $renderer->cdata('Item 1.2');
        $renderer->listcontent_close();
        $renderer->listitem_close();

        $renderer->listo_close();

    // This is the closeing of list item 1!
    $renderer->listcontent_close();
    $renderer->listitem_close();

    $renderer->listitem_open(1);
    $renderer->listcontent_open();
    $renderer->cdata('Item 2');
    $renderer->listcontent_close();
    $renderer->listitem_close();

    $renderer->listitem_open(1);
    $renderer->listcontent_open();
    $renderer->cdata('Item 3');
    $renderer->listcontent_close();
    $renderer->listitem_close();

    $renderer->listo_close();

generates an ordered list similar to this (the look differs, just notice the structure of the list):

  1. Item 1 1. Item 1.1 1. Item 1.2
  2. Item 2
  3. Item 3

Please notice that to create the list items 1.1 and 1.2 a complete nested list is required. It needs to be inserted between the call to $renderer->cdata() and $renderer->listcontent_close(); of the parent list item.

Clone this wiki locally