Webasyst PHP framework, which is focused on creating web applications with backend and business applications, has now become a full-fledged CMS. Using the system application "Site" on the framework, you can create sites. The application is free (LGPL).

Usually in the "classic" CMS, two concepts are always used: 1) the
general layout and 2) the separate
modules embedded in it (news feeds, tag clouds, blogs, shops, etc.). We went a little non-standard way and adopted a different architecture: the address space allocated to the site is divided between
independent applications without “imposing” a common layout on them. That is, not modules are embedded in a general layout, but each module (in our case, an
application ) uses its own layout (design theme).
')

For example, the address space can be divided between applications as follows: everything inside / blog / * is assigned to the Blog application, / forum / * to the Forum application, / shop / * to the Store, and the remaining addresses (/ *) are processed application "Site". Each of these applications can be created by independent developers and use their own design layouts.
Integration of independent applications into a single site is done at the “last mile”, that is, at the presentation level: some application and its design theme are taken as a basis, its individual elements are put into common blocks and then embedded into the layouts of other applications, applications are cross-referenced in the general navigation menu of the site.
We consider this approach more correct. It allows the designer, creating a theme for a photo gallery, to do it only for a photo gallery, and not universal, suitable for any other applications that already exist or will be developed sometime in the distant future.
Custom CMS
The system application "Site" performs an integrative role in creating websites based on Webasyst and provides the following functionality:
- Routing Management (Routing) : a web interface for editing the routing rules and the allocation of applications within the site (settlement means attaching the application frontend to a subset of the site address space).
- Multisite : you can park on the Webasyst installation several domain names and create your own sites on each of them, customizing the routing individually for each site.
- A design template editor with which any Webassist application ( documentation ) can integrate.

The syntax highlight editor is based on CodeMirror . Template engine - Smarty .
Of course, the application can work with its own template maker and use or not use any design template editor, however, it is easier and faster to use the ready infrastructure provided by the “Site” application.
- Information pages with a WYSIWYG editor and the ability to use Smarty. This functionality allows you to create websites only on the basis of the Site application without connecting other applications. WYSIWYG is based on elRTE .
- File manager
- Common HTML-blocks that allow you to make separate elements of the site ("header", "basement", js-counters, etc.) and embed them in the design patterns of different applications.
- Cheat Sheet : A set of Smarty constructs, variables, and methods that can be used in the context of a given template or page. Including for data acquisition from other applications. For example, you can add content of another application to the page of the “Site” application using the appropriate method {$ wa-> APP_ID-> METHOD_NAME ()}

Integrated applications
With this so far sparsely. By itself (without using other applications), the Site application provides rather poor tools for creating websites: only pages with static content, even with the ability to use Smarty. All the flexibility and power of the “Site” will be revealed when applications integrated with it are released. We are currently working on “Blog” and “Photo” applications. Using their example, the Webasyst should prove to be an interesting CMS.
The Site application will become the basis for the new Shop-Script design editor, which we plan to release in 2012.
The Webasyst framework can be
downloaded for free . The application "Site" is now included in its basic composition. And finally - a link to the example with a step by step description of the creation of the site:
http://www.webasyst.com/ru/framework/docs/site/tutorial/