camindo CMS for template programmers

Encapsulated functionality

Templates bundle ready-made features: article lists with paging, members' areas, page construction kits. Together with their content areas they are ready for use immediately and can be adapted to the design of a website without new development.

Compiled, not interpreted

When saving, camindo CMS translates every template into PHP. When a page is requested, only finished PHP code runs, without a template engine and without constant re-evaluation.

A lean command language, PHP whenever you need it

Commands such as (CMS:TEXT title) or (CMS:SELECT …) are placed directly in the HTML. They are easy to learn and readable without programming skills. Where more is needed, you write PHP directly in between, without taking a detour via extensions.

Lists in just a few lines

A CMS:SELECT with filter and sorting plus a list template with a result loop make a complete list. With count=true and CMS:JUMP_LIST, paging is added; nested lists work just as well.

Several content areas in one list

Because field names are uniform system-wide, several content areas can be queried, filtered and sorted together, for example news, events and blog in one timeline, or a keyword search across the entire website.

Filters you already know

Filters use the same syntax as the search form in the backend: wildcards, comparisons, date ranges, AND and OR, tree queries. Whatever the editorial team has tried out in the search works exactly the same way in the template.

Speaking URLs without effort

CMS:URL generates URLs with slug, language code and the correct domain. Slugs are created automatically from the title and remain stable. camindo CMS redirects deviating requests to the valid URL, which search engines reward.

Multilingual without extra work

A template automatically outputs the language version of the request, including date and number formats. Links keep the language, and a language switcher is built with a single command. Labels come from the backend as snippets and are translated there.

Publication logic is built in

Templates only find enabled records whose publication date has been reached and whose expiration date has not passed, without you writing a single line for it. For archives or previews, parameters relax this rule in a targeted way.

Linked content made easy

Gallery images in the defined order, the keywords of an article, the neighbors in an image gallery: linked records are queried directly, and you can sort by their fields, for example articles by author name.

Media with one command

CMS:MEDIA outputs image versions with speaking file names, delivers downloads with the file name of your choice and, if desired, protects files from visitors who are not signed in. camindo CMS already generates the image versions during the upload.

Community features as commands

Registration, confirmation, sign-in, password reset, protected pages, visitor contributions and shopping basket are ready-made commands. A members' area is thus created from just a few templates, and the system takes care of the checks.

Templates in the file system and in Git

Every template is also stored as a file on the server. You work with your usual editor, manage the templates with Git and use deployment tools. camindo CMS picks up changes automatically and recompiles the templates.

Errors with line numbers

A typo does not block saving. camindo CMS displays unknown commands, wrong parameters and missing brackets with the line number. With debug=true you see the generated database query, which keeps debugging short.

The editorial team benefits directly

With CMS:FED you set edit markers for frontend editing. List templates design the record list in the backend, for example with thumbnails or formatted prices. This way, the editorial team recognizes its content at a glance.

PDF from templates

With the add-on module PDF, invoices, tickets or data sheets are created directly from templates: on a letterhead as a background template, with tables, images and your own fonts, in CMYK for printing if desired.

Portable and reusable

Template sets are passed on via XML export. The import adjusts references to content areas, templates and records to the target installation. A feature developed once can thus be used on many websites.