TYPO3 Logo
TypoScript Explained
Release: 12.4

Loading data.

About TypoScript

  • Introduction
  • Getting started
    • Quick overview
    • First steps
    • Page
    • Content records
    • Create a menu with TypoScript
    • fluid_styled_content
    • TypoScript objects
      • Objects executing database queries
      • Objects rendering content
      • Further objects
    • TypoScript functions
      • stdWrap
      • getText / data
      • imgResource
      • select
      • split
      • if
      • typolink
      • parseFunc
    • Next steps
  • Using and setting TypoScript
    • Backend Module
    • Add TypoScript in your extension
    • Access TypoScript in an extension
    • Constants
    • The constant editor
    • Register
    • Debugging / analyzing
  • Using and setting TSconfig
    • Setting page TSconfig
    • Setting user TSconfig
    • Conditions
    • PHP API
  • Syntax
    • Identifiers
    • Code blocks
    • Operators
    • Comments
    • Conditions
    • File imports
    • TSconfig differences

Frontend TypoScript

  • Content Objects (cObject)
    • Content objects (general information)
    • CASE
    • Content object array - COA, COA_INT
    • CONTENT
    • EXTBASEPLUGIN
    • FILES
    • FLUIDTEMPLATE
    • HMENU
      • TMENU
        • TMENUITEM
      • Browse - previous and next links
      • Categories HMENU
      • Directory menu - menu of subpages
      • Keywords - menu of related pages
      • Language menu
      • List menu
      • Rootline - breadcrumb menu
      • Updated HMENU
      • Userfunction menu
    • IMAGE
      • GIFBUILDER
        • Examples
        • Note on (+calc)
        • Properties
        • GIFBUILDER objects
          • ADJUST
          • BOX
          • CROP
          • EFFECT
          • ELLIPSE
          • EMBOSS
          • IMAGE
          • OUTLINE
          • SCALE
          • SHADOW
          • TEXT
          • WORKAREA
    • IMG_RESOURCE
    • LOAD_REGISTER
    • RECORDS
    • RESTORE_REGISTER
    • SVG
    • TEXT
    • USER and USER_INT
  • Data processors
    • comma-separated-value
    • database-query
    • files
    • flex-form
    • gallery
    • language-menu
    • menu
    • site
    • site-language
    • split
    • Custom data processors
  • Top-level objects
    • CONFIG & config
    • constants
    • module
    • PAGE
      • PAGE Examples
    • plugin
    • Reserved top-level objects
  • Functions
    • cache
    • Calc
    • Data / getText
    • encapsLines
    • getEnv
    • HTMLparser
    • HTMLparser_tags
    • if
    • imageLinkWrap
    • imgResource
    • makelinks
    • numberFormat
    • numRows
    • optionSplit
    • parseFunc
    • replacement
    • round
    • select
    • split
    • stdWrap
    • strPad
    • tags
    • typolink
  • Simple data types
  • Conditions

Backend TypoScript

  • Page TSconfig Reference
    • mod
      • SHARED
      • web_info
      • web_layout
        • Backend layouts
      • web_list
      • web_view
      • wizards
    • options
    • RTE
    • TCAdefaults
    • TCEFORM
    • TCEMAIN
    • templates
    • tx_*
  • User TSconfig reference
    • admPanel (EXT:adminpanel)
    • auth
    • options
    • page
    • permissions
    • setup
    • TCAdefaults
    • tx_*

Appendix

  • PHP and TypoScript
  • Glossary
  • Sitemap

Contributors Corner

  • View source of current document
  • How to edit
  • Edit current document on GitHub
  1. TypoScript Explained
  2. Content Objects (cObject)
  3. HMENU
  4. Browse - previous and next links
Report issue View source How to edit Edit on GitHub

Browse - previous and next links

This menu contains pages which give your user the possibility to browse to the previous page, to the next page, to a page with the table of contents and so on. The menu is built of items given by a list from the property ".items".

Attention

Mount pages are not supported!

  • Properties
    • Example: Display different types of browse links
      • special.items.prevnextToSection
      • special.[itemname].target
      • special.[itemname].uid
      • special.[itemname].fields.[field name]
    • Example: Use "back" as text on the prev link
      • special.excludeNoSearchPages
  • Example: Pagination with rel="next" and rel="prev"

Properties

Name Type Default
special.value
integer /stdWrap current page ID
special.items
list of item names separated by | Current page ID
special.items.prevnextToSection
boolean false
special.[itemname].target
string
special.[itemname].uid
integer (UID of page)
special.[itemname].fields.[field name]
string
special.excludeNoSearchPages
boolean false

special.value

special.value
Type
integer /stdWrap
Default
current page ID

The default value can be overridden with a different page ID as starting point for the menu in some rare use cases.

special.items

special.items
Type
list of item names separated by |
Default
Current page ID

Each element in the list (separated by |) is either a reserved item name (see list) with a predefined function, or a user-defined name which you can assign a link to any page. Note that the current page cannot be the root-page of a site.

Reserved item names:
next / prev

Links to the next page / the previous page. Next and previous pages are from the same "pid" as the current page id (or "value") - that is the next item in a menu with the current page. Also referred to as current level.

If special.items.prevnextToSection is set then next / prev will link to the first page of the next section / to the last page of the previous section, too.

nextsection / prevsection

Links to the next section / the previous section. A section is defined as the subpages of a page on the same level as the parent (pid) page of the current page. Will not work if the parent page of the current page is the root page of the site.

Example for the usage of the property "items".
nextsection_last / prevsection_last
Where nextsection / prevsection links to the first page in a section, these link to the last page. If there is only one page in the section that will be both first and last. Will not work if the parent page of the current page is the root page of the site.
first / last
First / last page on the current level. If there is only one page on the current level that page will be both first and last.
up
Links to the parent (pid) page of the current page (up 1 level). Will always be available.
index
Links to the parent of the parent page of the current page(up 2 levels). May not be available, if that page is out of the root line.

Example: Display different types of browse links

If id = 20 is the current page then:

21 = prev and first, 19 = next, 18 = last, 17 = up, 1 = index, 10 = nextsection, 11 = nextsection_last

prevsection and prevsection_last are not present because id = 3 has no subpages!

TypoScript (only "browse"-part, needs also TMENU):

EXT:site_package/Configuration/TypoScript/setup.typoscript
xxx = HMENU
xxx.special = browse
xxx.special {
    items = index|up|next|prev
    items.prevnextToSection = 1
    index.target = _blank
    index.fields.title = INDEX
    index.uid = 8
}
Copied!

special.items.prevnextToSection

special.items.prevnextToSection

special.items.prevnextToSection
Type
boolean
Default
false

If set, the prev and next navigation will jump to the next section when it reaches the end of pages in the current section. That way prev and next will also link to the first page of the next section / to the last page of the previous section.

special.[itemname].target

special.[itemname].target

special.[itemname].target
Type
string

Optional or alternative target of the item.

special.[itemname].uid

special.[itemname].uid

special.[itemname].uid
Type
integer (UID of page)

Optional or alternative page UID to link to.

special.[itemname].fields.[field name]

special.[itemname].fields.[field name]

special.[itemname].fields.[field name]
Type
string

Use the provided string as linked text instead of the pages title.

Example: Use "back" as text on the prev link

This gives the link to the previous page the linked text "« back":

EXT:site_package/Configuration/TypoScript/setup.typoscript
prev.fields.title = « back
Copied!

special.excludeNoSearchPages

special.excludeNoSearchPages

special.excludeNoSearchPages
Type
boolean
Default
false

If set, pages marked with the no search checkbox will be excluded from the menu.

Example: Pagination with rel="next" and rel="prev"

The following snippet uses a HMENU with special = browse to display links like the following:

Example HTML output
<link rel="prev" href="http://www.example.org/page1" />
<link rel="next" href="http://www.example.org/page2" />
Copied!

The menu excludes pages with the flag Include in Search removed and jumps to the next section when the last of subpages is reached.

EXT:site_package/Configuration/TypoScript/Seo/Setup/RelPrevNextMenu.typoscript
page {
  headerData {
    // https://developers.google.com/search/blog/2011/09/pagination-with-relnext-and-relprev
    10 = HMENU
    10 {
      special = browse
      special {
        items = prev|next
        items.prevnextToSection = 1
        excludeNoSearchPages = 1
      }
      1 = TMENU
      1.NO {
        allWrap = <link rel="prev" href="|"> |*| <link rel="next" href="|">
        doNotLinkIt = 1
        stdWrap {
          typolink {
            parameter.data = field:uid
            returnLast = url
          }
        }
      }
    }
  }
}
Copied!
  • Previous
  • Next
Reference to the headline

Copy and freely share the link

This link target has no permanent anchor assigned. You can make a pull request on GitHub to suggest an anchor. The link below can be used, but is prone to change if the page gets moved.

Copy this link into your TYPO3 manual.

  • Home
  • Contact
  • Issues
  • Repository

Last rendered: Mar 28, 2025 11:26

© since 2012 by the TYPO3 contributors
  • Legal Notice
  • Privacy Policy