CMS Pages - Editeur de pages statiques

Warning: This plugin has't been updated in over 5 years. It may no longer be maintained.

What you can do to help:

Provides admin with unlimited static pages, with access rights, multi-level templating system and dynamic content

Recommended Releases
Elgg Release Download Date Links
2.32.3 (130.35 kB)2018-Oct-29
2.22.3 (130.35 kB)2018-Oct-29
2.12.3 (130.35 kB)2018-Oct-29
2.02.3 (130.35 kB)2018-Oct-29
1.121.12 (130.46 kB)2018-Oct-29
Show all releases

This plugin was developped after using modified versions of external pages, which didn't fit my needs for various reasons (limited number of pages, no access rights, a new subtype for each new page...).

It's a CMS-functionnality for Elgg, which can be used to set up specific pages, or interface elements that can be inserted as views into themes.

  • Cmspages lets admins define static pages that are meant to be integrated into the web interface, or used as stand-alone pages.
  • Admins can also set a list of "editors" who are allowed to edit CMS Pages.
  • There are also multiple options and features that makes it a very flexible editing tool for Elgg sites :
    • per-page access level,
    • "slugs" : static URL (no URL parameter),
    • page title (or empty title),
    • reusables views...
  • Advanced usages include (v0.9+) :
    • pure HTML editor mode : lets you easily insert embed code (videos, widgets, etc.)
    • multi-level templating,
    • configurable "modules" aimed to insert custom Elgg data into templates and pages : object lists, and various other elgg-selected data,
    • per-page additionnal CSS rules,
    • setting to allow page direct view or internal use only (for templating and embedable views)



  • It uses 1 object subtype "cmspages" (instead of one per page), and lets admin define an unlimited number of static pages (just like any other object).
  • Pages title and URL can be defined separately, and unfiltered HTML may be used (depending on your local configuration and plugins). It also adds basic access rights (no collection, neither groups' nor users'). It doesn't trigger any river or notification message (as it's meant to be used as an interface editor).
  • Also on the todo list : cmspages siblings and parents relations, which are already implemented in the cmspage object, but not usedyet.
  • The original idea was that the generated views could be used as interface blocks, and this plugins could be used to create admin-editable interfaces, when used in conjunction with a layout-plugin.


README.txt file content :

What are Static pages ? Static pages :

  • have a specific URL (ex. mainpage)
  • are editable by any admin user (localadmin also in multisite context)
  • can be linked from site menu (unique URL)
  • don't trigger any notification
  • changes take effect immediately, but there's no history : care not to empty field before saving (empty fields are allowed)
  • access level can be set for each page



How to create a new page :

  1. click on page title ("new page") or click "+" if you were on a existing page
  2. type page URL name (can't be changed) and press Enter (non-Javascript : click button)
  3. use form to edit the page content, then click the Create page button
  4. Important notice : URL page name only accepts alphanum chars, and no space nor other sign except : "-", "_" and ".". Other characters will not be taken into account

How to edit an existing page :

  1. select a page through the dropdown
  2. edit it, then save...

CMS Pages use 2 views, so that their content can be embedded into a theme and make it customizable (eg.: add widgets, custom HTML code, etc.)

  • cmspages/read is used for fullview cmpages rendering, and may render more content (title, etc.)
  • cmspages/view view will return only cmspage description (other elements such as title and tags are not displayed), and is designed for inclusion into other views


How to insert a CMS Page into interface ?

  • add following code where you want to insert the page content : elgg_view('cmspages/view', array('pagetype' => $pagetype));
  • replace $pagetype by the the unique string that is at the end of a CMS Page view URL : pg/cmspages/read/[PAGETYPE]


This plugin is now maintained and updated as a personal project. If you appreciate it, please support :


Ce plugin est un éditeur de pages statiques, utilisables directement ou sous la forme de blocs (vues) intégrables dans l'interface du site.

Il vise à remplacer externalpages, trop limité en termes de nombre de pages, et qui souffre de défauts de conception, notamment parce qu'il créé un sous-type d'objet pour chaque nouvelle page créée, et porte un titre identique à la terminaison de son URL...

Les "Pages CMS" permettent de générer des pages dans le site et de les éditer en html, avec un éditeur de texte à disposition, sans syntaxe particulière, avec un code non filtré (sauf si l’éditeur le filtre, mais celui-ci est désactivable, ou qu'un autre plugin activé filtre le code) et n’engendre pas de notification du tout à la création des pages. Les pages créées intègrent des droits d'accès volontairement limités aux droits par défaut.

Les nouvelles versions de ce plugin intègrent un moteur de templates, des modules configurables (listes d'objets, etc.), des CSS spécifiques pour chaque page, et d'autres fonctionnalités utiles.


Ce plugin est maintenant amélioré et maintenu comme projet personnel.

Si vous appréciez, merci de soutenir son développement :


Florian DANIEL aka Facyla

Web consultant, Elgg developer, entrepreneur @ Facyla & natural idées


  • Category: Site admin
  • License: GNU General Public License (GPL) version 2
  • Updated: 2018-10-29
  • Downloads: 4921
  • Recommendations: 10

Other Projects

View Florian DANIEL aka Facyla's plugins