May be a silly question...
Posted 20 November 2011 - 04:32 PM
I don't normally design websites on a big scale and after a bit of a break I got offered to do a site for the company I currently work for. Yay me!
However, one of the things my boss wants is a CMS, which is kinda obvious, except that I haven't used one before. I've googled, as you do, and this looks so promising that I'm hoping, as a PHP/CMS noob, I'll be able to understand how it all works.
I know, it's a bit of a long story, but I do have a silly question. From what I understand, I can design a template and can use that with Process Wire to manage the content like text areas, pictures, forms, etc. Is that the right assumption? It's a little embarrassing to ask such an obvious question, but I just need to make sure of that before I go any further
Hopefully someone awesome amongst you will explain it to me and somewhat ease my worries
Posted 20 November 2011 - 06:21 PM
From what I understand, I can design a template and can use that with Process Wire to manage the content like text areas, pictures, forms, etc. Is that the right assumption?
Yes, you can design a template or even buy a template if your boss expects miracles overnight. ;-)
Manage content in text areas, pictures, yes.
Forms less so, but if you wanted an easy out you could integrate something like MachForms for your form management. Can you list the type of forms you need? If it's just a "Contact Us" form or something simple, Ryan has a great example here on the forum.
There's also the level of technical prowess that is required. For example, you can't go theme shopping in the same way you can for WordPress. You can shop for plain HTML themes, but you have to take care of all the integration with Processwire by yourself. For example, you have to turn this:
<h1><?php echo $page->title; ?></h1>
So that Processwire knows "Hey, grab the title of whatever page we're showing here and put it in that spot."
Processwire is a great software package, and some of us who have used the major CMS packages see it as a welcome relief, but there is a learning curve. Many of us are here because we outgrew the "beginner-friendly" CMSes that are so common.
With Processwire perhaps you won't be clicking buttons so much as typing a lot, occasionally cursing because there's a problem in your PHP, etc. But in the end you feel it saves you time because you can't quite customize as much with another CMS.
PHP questions for you:
Do you know what "echo" does?
Have you ever assigned a variable before?
Alternate: Do you learn pretty quickly by looking at other peoples' code?
Finally: Are you interested in learning PHP?
CMS questions for you:
You haven't used a CMS, but do you know what a CMS uses a template for?
What are some other sites that work the way you need yours to work?
At what point will you decide that this is taking too much of your time to learn? If you have an hour figure in mind, maybe we can guesstimate. ;-)
Posted 20 November 2011 - 07:10 PM
Maruchan's answer can seem a bit scary, but he is right, for what it seems you will have to learn a lot. I'm also a noob on cms's, and even webdesigning, so, maybe I can try to give a less scary answer
I guess your main doubt is mainly on how templates work.
Putting it in a simple way, templates let you design several pages, writing the code only once.
imagine that you have a very simple html, and all the pages on your website have the very same structure.
<!doctype html> <html> <head> <title>my website</title> </head> <body> <h1>My Website</h1> <div id="sidebar"> "some code" </div> <div id="content"> "some code" </div> <div id="footer"> "some code" </div> </body> </html>
What you would do to simplify your work is divide this code and put the parts that will be common to several pages in files that you can reuse. So, for instance, you can put this, on a file called 'head.inc' (i will use some dynamic content, like Maruchan explained)
<!doctype html> <html> <head> <title><?php echo $page->title; ?></title> </head> <body> <h1><?php echo $page->title; ?></h1> <div id="sidebar"> "some code" </div>
and this on another file called 'foot.inc'
<div id="footer"> "some code" </div> </body> </html>
you will be left with the content div that will go on a php file, for instance 'basic-page.php' that will call the previous pieces of code
<?php include("./head.inc"); ?> <div id="content"> <?php echo $page->pagebody; ?> </div> <?php include("./foot.inc"); ?>
On the backend interface, you will connect these template files with processwire templates, and assign fields to them:
title like in <?php echo $page->title; ?> is one, and pagebody like in <?php echo $page->pagebody; ?> can be another (title is present on all templates by default, but page-body i just made up).
after this you will create each of the pages of the website and assign them this template (or different ones that you can create).
This was a very basic explanation. Hope it wasn't too simplistic... there's much more complexity than this, next step could be linking to stylesheets and creating dynamic menus for instance.
Best thing you can do is play with the default installation. Open all the pages, create new fields and assign them to templates in the backend interface, and then, go to your template files and call them like this <?php echo $page->yourfield; ?>. Also have a look at all the templates that come in the default website.
And of course, read the documentation http://processwire.com/api/
If you want to go the quick and easy way (but not as satisfying), you can also check these:
Posted 21 November 2011 - 03:03 AM
Thank you both, Maruchan & Diogo.
This, your advise, is the reason why I'd probably go ahead and figure it out by playing with it. It's more of a "Challenge accepted" thing rather than going to easy way out with a simple CMS that probably won't do what I want in the end
I really appreciate the responses and will most likely keep on asking silly questions if this is the kind of helpfull feedback I can get in my journey to understanding everything.
Thank you again!
Posted 21 November 2011 - 06:54 AM
Agree with the points above - any CMS has a bit of a learning curve especially if you're new to the concept, but having used quite a few CMS before I think ProcessWire (PW) is not overly demanding and easier than some of the best known systems; especially once you get past the basics. I only have pretty basic PHP skills but so far I've been doing fine with PW; as Ryan has pointed out elsewhere, the PW API is very friendly - so the complexities of PHP are hidden from you in most cases, to the extent that it's no more complicated than the proprietary template tagging systems used in other CMS. However, the advantage is that you're learning a universal language with transferable skills and lots of online and offline learning resources to help you out - plus further down the line you have the full power of PHP at your disposal if you really start growing your ideas.
PW doesn't have as many ready built modules at this stage but then I actually think this puts you in a better position further down the line since you will understand what you build and be able to maintain it yourself. If you go for a system with lots of 'plug and play' modules then often you run into issues later if these aren't compatible with the CMS when it gets upgraded, your client requests a tweak which you can't code yourself, or the module is abandoned by it's author at some point. ProcessWire is as much a framework for building things as a CMS - so the further you need to push it the more you will appreciate not being boxed in by someone else's ideas - which is often the case if you go for a lightweight CMS (easier to set up in the first instance but much more likely to impose limitations later on).
Well good luck and look forward to more questions
Posted 11 April 2012 - 04:45 AM
I am quite new to processwire and don't really have an skills in php. What is intriguing to me is the simplicity of the UI for the client and having more control over the 'building blocks'.
This post has been quite helpful in understanding the way pw is built (header and footer). Any tutorials for designers with little knowledge of coding is highly welcome, I would of course love a walkthrough for customizing the demo website (hope I'm not alone).
Thanks for sharing!
Posted 11 April 2012 - 05:17 AM
Also take a close look at the template code that comes with a fresh install of PW. It's well commented and can help a lot to get an idea how easy things can be.
Once you understand the basics of working with processwire it's (my opinion) pretty easy to make your own site structure, put the data you want and work with that data on the front-end.
- edit: almost forgot, the documentation on the main site is also mandatory material: http://processwire.com/api/
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users