From: Matthew M. <ma...@tu...> - 2002-01-02 19:08:11
|
Greetings developers! For the last couple of months, I have been working on a new core for phpWebSite. So far, the main portion is pretty functional. However, I have started to work on the templating portion of the core. As I have started to work on it, I reflected on all the different things that people wanted for themes and templates and although I have an idea in my head of what I want, I am worried that there is SO many feelings on how it SHOULD work that forcing a standard might restrain the ideas of others. I am not worried about forcing the standard, that is our job :) I want to release something that is elegant and simple yet flexible. I want it to expand with the ability of the administrator yet be simple enough that the first time user can create a theme. I also want it to have the ability for modules to create themes. This sounds like a tall order but I believe it can be done. The current build of templating has only started. Here is what we are thinking. Modules would send their data in a variable. This variable could be an array, class, or string. Currently I have been using just a string in the alpha copy but I plan on using more arrays or classes in the future. Currently, if using an array or class, we want keys using TITLE, BODY, and FOOTER. This will simplify the process if we at least agree on that standard. Anyway, if the info is in a string, you can just echo that in your theme. That is the most basic configuration but it offers much more flexibility as to the appearance of your site. No longer will you have to worry about where a plug-in/module appears. You place it where you want it. The next component would be a "box" module, not yet started. This module, which would come with the core, would allow you to choose the structure of the "box" that the module would appear in. All it would do is assign the box from a file, much like the current theming uses a theme.php file to hold boxes. Now the first incarnation of the theme file would just be boxes handcoded or cut and paste from your favorite HTML program. Later on, we are thinking of a box module that would help you create the boxes and write them. The what is important to note is that the box module would not be mandatory. If you wanted to code your page and just insert the module data variables, you could do it that way, but we thought we would create the box module so that it would be easier. Plus there it could eventually allow people to mix-and-match box styles. That would cover the layout or structure portion. Again, if you want to just program the whole page and insert the plug-ins, you can in the alpha. Next would be the style component. We are of course sticking to style sheets. We even like the thought of layout based on CSS and with the box module you should be able to create a tableless web page as well. Anyway, module designers would include a style sheet that would contain the styles they used for their module. That way you could just cut and paste them into your theme. This would work in alpha stage. What I would like for post- alpha is a module that allows you to create a CSS page which you can either write to your theme or print to screen if you don't have file access. This is what I will be working on from here on out and would appreciate feedback. I have just finished a looong holiday break and I am anxious to get back coding. I was going to hold back posting the alpha but people that are working on phpWebSite are asking if they should wait for the new core or not. So, I would like to get the basic core and modules in a running alpha state. So if you want to try out the new core, go to CVS and look under FALLOUT. I will post a database dump today. Again, this thing is pre- alpha at most. Please be gentle :) Currently the prealpha does some neat things but it does not work with existing modules. Old modules will need a go between module but everything will be backward compatible. Thanks for everyones hard work and I look forward to hearing from you. Sincerely, Matt Matthew McNaney Internet Systems Architect Electronic Student Services Email: ma...@tu... URL: http://phpwebsite.appstate.edu Phone: 828-262-6493 ICQ: 141057403 |