What are Page Types and how are they used?

Permalink 7 users found helpful
This page should not be misconstrued as documentation explaining page type.

Smittie

Smittie
 
triplei replied on at Permalink Reply
triplei
Hi Smittie,

I think the current documentation can describe it best. Have you had a chance to read over:http://www.concrete5.org/documentation/general-topics/page-types...

Hopefully that helps clear things up.
Smittie replied on at Permalink Reply
Smittie
I've been plowing though as much of the documentation as I can find and make sense of. In my opinion, more a challenge than it should be.

Smittie
ThemeGuru replied on at Permalink Reply
ThemeGuru
Sometimes the how-to's are quite handy :-)
ThemeGuru replied on at Permalink Reply
ThemeGuru
Well just a short note.

Page types correspond to your theme files.

I.e. you might have a different a full width so you call it full.php which corresponds to the full page type.

This can also work for the right sidebar page type it would be: right_sidebar.php in your theme.

Hope that helps.
jordanlev replied on at Permalink Best Answer Reply
jordanlev
Page types are two things:

1) The most common thing is that each page type represents a different layout that a page in your site could have (this is sometimes referred to as a "template" in other systems). For example, most sites have one layout on the home page, and then a different layout on interior pages. Actually, they usually have a few different interior layouts (for example, maybe one page layout for general content pages, a different layout for showing employee listings, and a third one for displaying photo galleries). The whole point of a CMS is that you generally have a consistent look (or maybe a choice of 2 or 3 different looks) across all of the pages -- it's just the content in the middle that differs from page to page. So the page type is what you're choosing to go around the content on each page.

2) A deeper (and generally less useful, unless you're a programmer) function of page types is to define different sets of data. For example, if you have an employee listing, and each employee has several pieces of data about them (first name, last name, phone number, etc.), you might use an "employee" page type to define that set of data (that is, to list out what the various pieces of each employee are -- is there just 1 phone number, or 2? What about fax number? Address line 2? How about 3? etc.). This distinction of page types gets a little messy, because in addition to defining the data you want to know about each employee, you're usually also saying what you want the page that the data is displayed on to look like (for example, the name is a big bold font of size 22px, just below that is the job description in normal font, all phone numbers in a bullet list off to the right side, etc.).

But you don't really need to worry so much about #2 -- that is usually taken care of by a programmer who builds a package that you'd download from the marketplace, and all you have to think of is "I'm adding a new employee to the roster so I'm going to add a new page of the 'Employee' page type, and then fill out all the fields I'm presented with".

Hope that helps clear things up.

-Jordan
Smittie replied on at Permalink Reply
Smittie
Thanks, Jordan. That helps a lot.
Smittie replied on at Permalink Reply
Smittie
So then, if I wanted to create my own template that would include one template for the front page and a different template for all other pages, is there a best practice for naming them? I get the basic idea of default.php, view.php, and full.php. At least initially, I'd to follow the normal practices if there are any.

Smittie
jordanlev replied on at Permalink Reply
jordanlev
The general best practice is "home.php" for the home page, "left_sidebar.php" for a layout with the sidebar on the left, "right_sidebar.php" for a layout with the sidebar on the right, and "full.php" for a "full width" layout that has no sidebars.

BUT there is one catch -- you MUST have one file called "default.php". You want this to be for the "most common" layout across the site -- so if most of the pages were going to have a right sidebar and then a few other ones would be full-width, you would have "default.php" (the right sidebar layout) and "full.php" (the full-width layout), and maybe another one called "home.php" (if the design of your site called for a different layout on the home page -- but if the home page had a sidebar on the right just like most of the other pages, then you don't need the "home.php" one because it can just use the "default.php" one).

There are also some other things you need to do when building a theme (a theme is a collection of all the page type templates that go together to make the overall design of your site). There's a couple of walkthroughs in the documentation and in the how-to's section -- I recommend taking a look at those.

-Jordan
Smittie replied on at Permalink Reply
Smittie
So, the video walk through in which the guy takes an existing html page and makes a Concrete5 template, can that really be used as a template or is that just smoke and mirrors to make it look easy? It's beginning to sound like there's a bunch of hidden plumbing that I'm going to have to get to know in order to make this work. The more hidden plumbing there is, the less attractive Concrete5 becomes. I am here because I don't need all the bells and whistles of Drupal or Joomla.

While I find the concept of Concrete5 attractive, I really find the documentation, tutorials and all to be a problem. I've spend about a week trying to learn what's needed to get where I want to be with Concrete5. The documentation seems to be scattered all over the place with some videos on YouTube, others on Vimeo. Some of the information needed is in video walk throughs, some is in documentation, and some can only be found by plowing through the forums. At least with Drupal, the documentation, though daunting, is all in one place.
jordanlev replied on at Permalink Reply
jordanlev
I agree that the documentation is scattered and somewhat lacking. Myself and a few other people are trying to work on improving that (so is the core C5 team, but they're pretty busy obviously, and perhaps further removed from what it was like to be a beginner because they know the system so well). Honestly, questions like yours are very helpful to me because it lets me think of how things need to be explained to people coming at this without any prior experience or knowledge -- so thanks for that!

I have a question for you: are you familiar with how to create web pages with HTML and CSS? If so, have you built websites in any other CMS's before (wordpress, drupal, etc.)?

If you're unfamiliar with HTML/CSS, it's going to be somewhat challenging to learn everything at once -- I would recommend learning how to create plain old web pages without any kind of CMS system first.

Every system has extra plumbing that needs to take place, and Concrete5 is no exception. What I can say is that from my own personal experience (I've built fairly substantial websites in many of the PHP CMS's -- wordpress, drupal, silverstripe, etc.), Concrete5 has much less plumbing to worry about. That's just my opinion, of course.

It might be possible that you don't need any bells and whistles at all -- what kind of site are you trying to build, and is it for yourself or someone else? If you're not a designer at all and you just want to get something simple set up easily and quickly, you should check out some of the hosted services such as Weebly, Yola, or Jimdo -- they all have easy editing interfaces similar to C5, but don't require you to deal with any code or servers (although they do allow you to modify the HTML/CSS of your chosen theme if you want to tweak the design). If you are a designer but maybe not so experienced with HTML/CSS, you might want to get a copy of Dreamweaver and build a site that way (you will have a much easier time of making the site look the way you want, but it will be harder to manage the content because you won't have an editing interface to do it and will have to re-upload files whenever you change them).

Every piece of software is build to solve certain problems. If you don't have those problems, than it's probably not worth the trouble of learning how to use them :)
Smittie replied on at Permalink Reply
Smittie
First, thank you for not taking my comments the wrong way. I do see potential in Concrete5 that I would like to take advantage of. I am impressed by the community. I asked the question, "does #concrete5 rock or suck" on twitter and got several positive replies and no negative ones. That is pretty good.

I am a software QA engineer in my work-a-day world. I am very comfortable with html/css. I have used MovableType for a number of years. Since the buyout, Movable Type has become cumbersome and rather difficult for non-geeks users to use, once the web site is up and running.

My preference in a CMS would be to use XML-style tags in html to define templates, completely abstracted from the plumbing that makes things work. Once I have to learn php we start down the road of diminshing returns. Eventually, it is easier to just roll my own.

I am really not at all interested in templates. I prefer to create my own web sites from scratch. What I would like is a CMS engine that provides CMS functionality via XML tags that I can incorporate into the html document. Concrete5 seemed to offer something relatively close to that. According to the video, I can design a web site in html/css, copy/paste the appropriate, pre-formed php into the html document and Concrete5 will do the rest. Only now I seem to be discovering that it is not really quite that simple.

What I would like to see in the written documentation is a follow on to the video that explains how to implement Concrete5 effectively without using a template or in a pre-existing, html/css template. The second phase of that documentation would show me how to leverage Concrete5 strengths to better advantage, using the previous work as a base. How do I use page-types in my own designs?
jordanlev replied on at Permalink Reply
jordanlev
Concrete5 does rock -- if you're designing a website for someone else to manage the content for.

It sounds like this isn't your situation. All of the complications and plumbing in C5 (and in any CMS system, really) revolve around the fact that someone who knows design and knows HTML/CSS is setting up a site for someone else who does not know design/programming/HTML/CSS.

You can't achieve this without templates -- the whole point of the system is that each page is templatized. If you don't want templates, then you don't want a CMS. I think maybe what you're looking for is just a way to add inline WYSIWYG editing to an existing HTML/CSS site, in which case you should check these out:
http://www.aloha-editor.org/
http://grabaperch.com/
http://www.zimplit.com/

Or maybe you do want some more CMS features, just not something as bloated as MT/WP/C5, in which case I would have a look at these:
http://get-simple.info/
http://www.cmsmadesimple.org/

Finally, if you're just into the whole XML thing, I came across this CMS which is all XSLT-template-based:
http://symphony-cms.com/

Hope that helps!

-Jordan
Smittie replied on at Permalink Reply
Smittie
Actually, I am developing a web site that a non-tech person will be using. My involvement in the process is only to design the site and provide a front-end through which they can manage content. So, maybe my use of the term template wasn't correct. What I do not care about is having 10s or 100s of templates to choose from that the user can then swap in and out whenever they want to change the look. I am going to design a template that the user will be using.

I am curious at this point. Is using Concrete5 as simple as the video I watched or not??

I do appreciate the suggestions. I'll take a look.

Smittie
jordanlev replied on at Permalink Reply
jordanlev
I think you're confusing the word "template" with "theme" (and I don't blame you, they are thrown around a lot in all sorts of contexts).

A theme is the overall look and feel, and it is comprised of several templates. But if you are designing a site for someone, you would only ever build them 1 theme (that's the whole point -- they don't want to have to choose between zillions of themes, so they're asking you to make one for them). Within that theme will be 1, 2, or 3 templates (called "page types" in concrete5). So the user will always have 1 "look and feel", but for each page they add, they will have the choice of 2 or 3 layouts (each layout will have the same general look to it, just slightly different page structure -- e.g. sidebar on the left vs. right, or none at all). Of course you could design a theme that only has 1 template in it, and then every page always looks like that and the user doesn't have to decide anything.

Is it as simple as the video? Of course not -- there are a few things you need to fiddle with to get it working (especially with deploying your site to a live server). But it's not that hard, and there's plenty of help available in the forums.

-Jordan
kirkroberts replied on at Permalink Reply
kirkroberts
I just stumbled on this thread and thought I'd chip in.
Smittie, you ask:
> I am curious at this point. Is using Concrete5 as simple as the video I watched or not??

I'd say "no" but it all depends on how deep you want to dig into it.

If you want to solve the types of surface-level problems the original developers had in mind, then it will be quite simple. As you go deeper and farther afield you'll surely have the dual experiences of hitting an obstacle one moment and racing ahead in another. Some tasks will seem harder than they should be, and others will be so drop-dead easy it feels like you're cheating.

My initial reaction to Concrete5 was "holy cow, this is awesome!" ... then I hit a wall pretty hard, but managed to push through... that was about 15 months ago. I've built about eight sites with c5, some pretty complex, and I'm still learning a lot every time I dig in. It's a vast system, but the complexity is well-shielded if you just want something to add some pages and content.

If you are looking for a simpler approach to just edit content, I really like Perch:http://grabaperch.com/ You can create your html/css pages and drop in php tags where you want to edit content. It's about as simple as you thought Concrete5 would be, but at the expense of many many many features. Could fit the bill in your case.
artchris replied on at Permalink Reply
artchris
I just wanted to say that I am new to concrete5 having designed Wordpress sites for more than a year. I inherited a project and now must learn this system. I found this thread helpful and appreciate the focused questions and answers for all. Now onto watching videos and reading more posts and documentation.