A silverstripe module that generates the table of contents dynamically from $Content
Generate the table of contents dynamically from $Content.
- the new $Autotoc tag, containing the table of contents dynamically created from the content of the current page. The tree is provided as a mixture of ArrayData and ArrayList, ready to be consumed by templates.
- overriding of the standard $Content tag, augmenting it with anchors
<a>elements with the id attribute but without href) that adds proper destination targets to the links in $Autotoc.
The $Autotoc is a tree that can be represented with the following pseudo representation:
$Autotoc = ArrayData( $Children <- <CHILDREN> ) <CHILDREN> = ArrayList( <ITEM> ) <ITEM> = ArrayData( $Id, $Title [, $Children <- <CHILDREN> ] )
In a more SilverStripe template way, this can be seen as:
$Autotoc $Children $Id $Title $Children
AutotocItem.ss shows a way to represent the whole
table of content tree in a recursive way. The format used is
intentionally compatible with the Bootstrap
components, so it can be used and it will be properly handled by the
For bug report or feature requests, go to the dedicated development tracker.