A website using Navigate CMS is built with the following components:
≈ Templates / Theme
The purpose of the vast majority of websites is communicate. The message to communicate is the content. That content may be a news item, a lesson, a help page, a product review, a portfolio, a blog post, a cooking recipe... So it's important the content of the message and how that content is displayed. Navigate CMS distinguishes these two concepts in the form of "Element" (the message content) and "Template" (how the message must be displayed).
What if we want to display a list of news items or blog posts? Let's now introduce the Structure.
A Structure entry (also called category) is a virtual container for Elements. A category may have several content elements (a list), just one (for example "About us") or even none (special page). The Structure is also used to create the menu of a website, but not every structure entry has to be shown as part of the menu...
Websites often have a common zone in every page (like a sidebar). It is used to display banners, links, widgets or brief contents. Every one of that small zones are called Blocks in Navigate CMS. We don't want to give much detail right now, but you can even define which blocks appear in a certain category.
There are other important concepts like Properties, Web users, Profiles... but they are not needed to build the foundation for working with Navigate CMS.
Scheme of a simple example website
Let us define the parts of an example website to make the basic concepts more clearer.
Our primary entity is the Website. The website has installed a Theme that provides five page templates:
≈ Contact form
≈ Blog list
≈ Blog post
The Home template just shows a welcome animation, does not have any editable section. Content is used as a common page to display text. Contact form does not have any editable content, it's only used to send a message to our company. Blog list displays a snippet of the latest blog posts. Blog post is used to show the full post contents.
The Website has a menu with four public Structure entries:
≈ Home --- www.website.com/home
≈ About us --- www.website.com/about_us
≈ Contact us --- www.website.com/contact_us
≈ Blog --- www.website.com/blog
The following content Elements are available:
≈ About us
≈ Blog post 1
≈ Blog post 2
≈ Credits --- www.website.com/credits
About us is associated with the category of the same name in Structure. Blog post 1 and 2 are associated to the Blog category. Credits is a content element without any associated category ("Free" element), we didn't want it to appear in the website menu but we wanted it to be available; it uses the Content template.
Category association or Free content element
As you've just noticed, a content can be "free" or associated to a category. Let's define this two concepts very clearly as they are very important in how Navigate CMS works.
≈ Free content element
The content has its own access path ( www.website.com/my_own_path ).
A page template must be assigned.
No one will know of its existence unless a direct link is posted somewhere.
≈ Content associated to a category / structure entry
The content will be displayed when loading the associated structure path.
There are two child modes:
The full content is loaded when displaying the structure page.
The template defined in the structure entry is used.
The element does not have its own access path.
Useful for structure entries with just one content element or to display a collection of small items.
Examples: About us, Portfolio, FAQs...
≈ Own path
A link to the content is shown when displaying the structure page.
A page template for the content must be assigned.
A path for accesing that content element must be defined.
Useful to give a category to a collection of items of the same type / group.
Examples: News items, Blog posts, Products of a catalog...
This three association mechanisms make Navigate CMS a powerful content management system able to control all kind of websites without imposing its rules.
Let's make this concept more clear by giving a real example:
- Recipes website organized by categories
- Spaghetti recipe — the recipe has its own page but it's listed in the "Pasta" category
* Category + Own path
- Chef's biography page, accessed by a menu option
* Category + Embedded
- Send us your recipe page, accessed by a banner on a sidebar
* Free content element
Element — text section or any other kind of content
Structure — entries of the website menu and collection of elements of the same type
Template — describes how a content must be displayed
Website — whole set of elements, structure entries, blocks, templates, images, files...
Association — how an element is accessed (by its parent category or by its own)