Off an on I have been working on a new Sandbox based LEGO theme for a while. I wanted something I could use for my own LEGO blog as well as the NCLUG and NCLTC sites and possibly the ILTCO site as well. I wanted to make it fairly easy to customize it by selecting a color scheme and allowing custom header images.
Color schemes were pretty straight forward. I wanted to base them on the Fibblesnork Backgrounds which I like a lot. The Fibblesnork backgrounds are very small images designed to tile across a web page. In my case, I wanted to use them to frame the content area. There are 18 different colors and two sizes for a total of 36 different background color choices. At some point I plan to support all 18 colors but initially I am only offering three: Red, Green, and Blue. Setting up a theme options page to select a color scheme was pretty straight forward, I had done that previously with my Soccer Theme.
WordPress has some built in functionality to do custom header images but it didn’t really do what I wanted. I wanted to allow a fair amount of control over the look and layout of the header. I decided to support three header images: Left, center, and right. I didn’t want to manage the header images so I decided to leverage the built in media management capability.
The theme options page will present any image that is in the media library as a potential header image. But how? I wanted to make it fairly simple to use. I decided to implement a drag and drop scheme based on the jQuery UI and discussed it in detail in a prior post. It took a little while to work it all out as I had done very little with jQuery previously.
The last thing I wanted to allow was the ability to tweak the header layout with CSS. For this I added what I referred to as “CSS Overrides” for the blog title, blog tagline, and the three header images. The combination of color schemes, custom header images, and CSS Overrides allows the Sandbox LEGO theme to take on a fairly distinct look.
The theme is currently in use on three blogs, I expect to make it available for download in the next few days. There are a couple issues I know of that need some styling help and I want to get two more color schemes finished before I release it. Color schemes aren’t too bad – I just need to pick the proper values. I have a script that actually generates the CSS files.
I have been working on a re-write of the Sandbox LEGO WordPress theme. It is taking a lot longer than I thought it would, mostly because I have made the problem more complicated than I initially thought it would be.
One of the main things I wanted to offer in this theme was the ability to choose a color scheme from an pre-set offering of about 8-10 choices. This wasn’t too hard, I had done some similar in the original Sandbox Soccer theme.
As I worked on it I decided it would be nice to allow the user to define what the header should look like including their own image. WordPress offers the ability to upload and use a custom theme header but this didn’t do quite what I wanted. I decided to let the user choose a header image from the media library. But what if the user wants multiple header images? Hmmm. This problem could get very complicate very quickly. I decided to constrain the problem by providing the ability to define up to three (3) header images: Left, center, and right. Doing this would support the 3-4 sites I expect to use this theme on (my own CarolinaTrainBuiders.com site, NCLUG, NCLTC, and ILTCO).
Now that I knew what I wanted, how to implement it. Simply showing the image options on a Theme Options page could potentially result in an enormous page. I mentioned jQuery Accordion in a prior post, dividing the various options into sections using the Accordion made sense and was pretty straightforward once I upgrade to WordPress 2.8.4.
Once the Accordion was working I decided I wanted an elegant way to select the images. Since this effort is a hobby and I largely do projects likes this to learn something, I decided I wanted to use a drag and drop mechanism to select the images. Again, jQuery to the rescue, namely the jQuery draggable and jQuery droppable plugins. In particular, the Simple Photo Manager demo was very close to what I had envisioned.
It has taken me a little while, mostly because I haven’t had a lot of time to work on it but I finally have a pretty slick theme options page working where the header images can be selected from the media library using drag and drop. I am by no means a jQuery guru but I have learned a fair amount working this problem out. The code I have isn’t ideal and I’ll continue to refine it but it is working so I can continue to develop the theme. Once I get it running and released I will go back and clean up the jQuery code. For now, getting it working and doing what I wanted was the primary task.
Over the past few days I have been dinking around with jQuery, in particular some of the jQuery UI widgets. I am working on a revamp of a LEGO WordPress theme and I wanted to allow the theme to support multiple color schemes and custom headers. This is a learning project for some other themes I want to update (e.g. Swim Team and Soccer).
For the header I wanted the user to select 1-3 images from the media library to use in the header. I also wanted to allow some styling control over the blog title and tagline and lastly choose a color scheme from a selection of 10-12 choices. All of this information would make for a very busy theme options page so I decided to make use of the jQuery UI Accordion widget to logically group information into sections.
My theme development area was still running on WordPress 2.7.1 which includes jQuery 1.6 which is not the most recent version. I should have upgraded WordPress before embarking on my Accordion experiments, I would have saved myself a bunch of time!
What do you know? My Accordion worked perfectly! So after wasting the better part of two days trying to work with what I had installed, simply updating WordPress was the right answer. I think the real change was in the jQuery UI ui-core component as at one point I had Accordion working in the older version but only when I loaded the custom packed jQuery download. When I loaded just the Accordion source file it wouldn’t work. The custom packed file included something out of jQuery UI ui-core, what I don’t know but it made a difference. When I looked at the jQuery code in the 2.8.4 release I noticed the ui-core component also had this function where as the 2.7.1 did not. So something was definitely different and it make a big difference.
Now that I have the Accordion working I am back to making progress on my theme options page. I have played with jQuery just a bit, this is the first real jQuery application I have worked on. It is pretty powerful, I can see why it has gotten so much traction.
I asked the other day if Sandbox was dead and even though there was a minor update, it appears that Sandbox isn’t really dead but it is in a purgatory of sorts. Not dead but not actively being developed either. So
Soccer season has started and I need to update the Soccer theme I used for my daughter’s team because they changed uniform colors. Since I had based the Soccer theme on Sandbox, I could either continue with it or start again. For now I am continuing with it because (a) I know it pretty well now and (b) it works. However, I do want to check out the Elastic theme editor I heard about recently on the WordPress Weekly podcast.
When I did the MacDolphins theme this past spring, I had based some of that work on the Soccer theme but was able to fix much of what had bothered me, in particular, the need to install the Sandbox theme itself and the Soccer theme as a child theme. I love the idea of a child theme but for the casual user, the relationship between parent and child theme isn’t real obvious and failing the install the parent theme results in a non-functional blog and likely frustration.
By structuring the theme architectures such that it referenced the Sandbox source as a SVN external, I was able to bundle all of the files for the parent theme and child theme together as one theme. This makes distributing the theme much easier and also solves the problem where the theme preview shows the parent theme instead of the child theme. This preview problem doesn’t affect the functionality of the site but it is confusing if you don’t know what is going on.
I expect to have the soccer theme updated in the next week or so and probably offer a few more color schemes. But first I am working on a Sandbox based LEGO theme which I’ll finish first because the NCLUG and NCLTC web sites sorely need an updated theme as the one they have now are old and don’t support widgets. This LEGO theme is a good exercise in setting theme options, particularly the header area as I expect I will need it to make a generic version of the MacDolphins theme for any swim team to use.
I had really hoped that Sandbox would see new life when ownership of the domain and it’s assets changed hands (see Scott Wallick’s post on offering plaintxt.org for sale). The link to the posting on plaintxt.org no longer exists, apparently the new owner deleted the original post.
There hadn’t been any posts on plaintxt.org or sndbx.org in a long time. There was a small amount of traffic in the Sandbox Forum but nothing substantial. I really like the simplicity of the Sandbox theme and gone ahead and used it on a couple projects even though it hadn’t been updated in a while. I figured with new ownership, it was bound to start again at some point.
Maybe I was wrong? I don’t know. I have been thinking of revisiting my Soccer theme since after using it for the CASL Ambassadors over the summer, I found a few minor issues with it. As I thought about updating it I kept thinking I should switch to a framework actively being worked (e.g. the Carrington theme?). So I went back and took a look at the PlainTxt blog and what do you know? A post! A minor security update was added to the Sandbox theme back in July. Was development active again? Poking around it appears that no, not really. Scott Wallick had made the change not the new owner who ever that is. Other than a couple comments asking the same questions I was pondering (has development started again?)( there wasn’t anything else. Bummer.
Now what to do? Continue? Fork? Pack up and move on? Decisions, decisions …
I posted wp-SwimTeam v0.1.418 late tonight to the download page. This update fixes a minor problem with SDIF generation of the roster. In certain instances the first name field would be empty.