Re: Seperating presentation from logic
| From: | Jean-Christian Imbeault | Date: | Tue, 25 Jun 2002 08:40:51 +0000 |
| Subject: | Re: Seperating presentation from logic | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-103743@lists.php.net to get a copy of this message | ||
Thanks! I'll visit and read all the links you gave.
Some of the "issues" are things like how to make it painless for both the designers and me if one day, out of the blue, a designers decides that the background colour should be changed, or the graphics changed. Or even worse the two column layout should be a three column layout.
But to start off with simple things like:
Designer:
- on this page a dynamic table will be generated according to the search criteria entered by the user
- lines will have alternating colours
I can code this easily, but what if the designer then decides that he wants each *third* line to alternate colour, or he wants to use three colours instead of two (a pattern 1,2,3,1,2,3 instead of 1,2,1,2).
How can I make it so that he can do these changes without coming to see me to change the code that outputs the data used in the table?
Simple things like that ;)
Jc
Justin French wrote:
I think the issues are VERY project specific. Luckily for me I'm the DESIGNER and PROGRAMMER on many of my projects, but often I'm just one of the two. When I'm just designing, I obviously need to develop page templates, but more and more of my time is spent developing style guides (often also called VM's (visual manifestos), among others). Basically, if a Style Guide is done right, programmers can make a whole heap of design-related decisions as they go. This can be in the form of colour guides, type styles, heading treatment, image treatment, spacing, layout styles, form presentation, etc etc. If the programmer reads and understands the rules, then a LOT of back and forth can be saved. Commonly a site may have: --------------------------| common header |--------------------------| || dynamic middle section || | | |--------------------------| common footer |-------------------------- What you want to do is have the designer "design" the header and footer, and provide style guides and samples of what might happen in the middle. From there, it depends on how far you want to separate the code and content. Simple things like: - defining $col1 $col2 $col3 colours which can be changed for a different pallet at any time - defining font tags like $fontBig $fontHeading $fontCopyright which can be changed site-wide at any time Slightly more complex things like a webbox/fusebox architecture (http://www.phpbuilder.com/columns/bill19990831.php3), or even just separating the TEXT of the pages out into separate plain text files or into a database will be a major help. Also check out http://bombusbee.com & http://www.fusebox.org in relation to fuseboxes. Then talk about CSS -- the whole aim of CSS is to separate content from design/mark-up. There's a pretty good article on SitePoint (http://www.WebmasterBase.com/article/379) which brushes the surface. There's about another 5 or six articles on this page worth reading: http://www.phpbuilder.com/columns/ And I'd recommend spending a LOT of time at http://SitePoint.com (http://www.WebmasterBase.com). I think you need to define the "issues" you mention, and them we can all help with some solutions :) on 25/06/02 3:00 PM, Jean-Christian Imbeault (jean_christian@myrealbox.com) wrote:I'm just about to start a large PHP project in which I get to work with professional designers/layout people. I want to separate all the programming logic from the presentation but I am not sure how to do this. Can anyone point me to resources (web tutorials/articles or books) that would help me figure out how best to separate my programming work from designer's work and how best to integrate them? Sorry for asking such a generic question but I don't know how to best phrase it. I did look on the web but the best I could find were some mentions of templates. While templates seems ok they don't address all the issues of separation presentation from code (if I understand them correctly). Thanks! Jc