Demosite for RepeaterFlex


The content of this site is completely managed by fieldtype RepeaterFlex which offers a scalable and portable solution for quick content creation.

In contrast to the RepeaterMatrix the item types are not defined via a GUI but implemented as PHP classes. Similar to a fieldtype in ProcessWire such a RepeaterFlexItem class implements both its config fields and the required code to create markup. As a consequence these implementations can be easily copied to a different installation and work instantly.

The fields each item class uses may be standard fields like bodytext, checkboxes, image collections or page selection provided by the installation or install their own fields if required.

Check out the Making of to see how this little site was made and the Docs section for more information.

If you are interested in a performance comparison and a tiny tip on how to improve performance of regular Repeater/RepeaterMatrix, check out the Performance Comparison page.

To see how RepeaterFlex can be used with CSS frameworks like UiKit or bootstrap, have a look into the ContentRenderer documentation.


Primary targets ... as a Grid

Flexibility

RepeaterFlex may not only be used for page content, rendering sitemaps or menus work nice as well.

Portability

Item configurations may be transported easily between installations.

Simplicity

Output is generated from a simple call to the render method, no iteration of the matrix required.

Modularity

Item types may easily be added or removed from the matrix field.

Locality

Field definition and render code for each item is defined in a single, compact file.

Extensibility

Due to the concept modifying item behaviour or adding new items can be done easily.

Effectivity

Only required code is loaded during rendering, this reduces PHP memory and performance footprint.


Properly nested and responsive containers

Some features of the RepeaterFlex as a list

  • Similar to RepeaterMatrix in admin
  • Items defined by script
  • Specialized Options field
  • Various iteration modules
  • Integrates RepeaterItem Copy&Paste from David Karich
  • Icons for item selection
  • Works with ProDrafts like RepeaterMatrix

Primary targets ... as an Accordion

  • Flexibility

    RepeaterFlex may not only be used for page content, rendering sitemaps or menus work nice as well.

  • Portability

    Item configurations may be transported easily between installations.

  • Simplicity

    Output is generated from a simple call to the render method, no iteration of the matrix required.

  • Modularity

    Item types may easily be added or removed from the matrix field.

  • Locality

    Field definition and render code for each item is defined in a single, compact file.

  • Extensibility

    Due to the concept modifying item behaviour or adding new items can be done easily.

  • Effectivity

    Only required code is loaded during rendering, this reduces PHP memory and performance footprint.


Encapsulation of complex code

There also is support for much more complex items which may require user opt-in and additional scripts to load, like an interactive map:

prepared in 95ms (content 57ms, header 0ms, Menu 27ms, Footer 10ms)