What drove me to want to learn more about Opencart was that it seemed like a system that was extremely simple to set up. Small shop owners and artsy folks that sell their wares out of their homes (which we have a lot of here in Lansing!) probably want something they can easily set up and get running with in a small amount of time. This is a major selling point, and at first glance this is what Opencart appears to be.
Before we start, here are some screenshots of the theme that I started before writing this post. Its not anywhere near finished, and is mostly serving as a skeleton.
Header |
Product Page |
First Impressions
OpenCart Demo Theme |
Admin UI
After browsing around my demo store I set up (Opencart comes prepackaged with a catalog of items which helps out quite a bit with the development process), I made my way to the admin section. The Admin ui is cleanly laid out, though I do have a few gripes here and there, which all in all are design/user experience related and not so much "Hey, I can't figure out how to do this" related. There are some features that are, in my eyes, missing from the UI.
Product List |
Product Edit Page |
Adding options for an item (such as size or color) feels clunky, and there isn't a default way of adding the same options for several items at a time. A quick google search led me to find some premium modules you can buy that do this for you, but I feel like this should be something added to the core. Currently, you are left re-adding the same options for every single item that needs it. Ouch.
TLDR: The meat of the UI is there. It needs a lot more polish though.
Digging Around the Backend
The developer(s?) of OpenCart neglected to comment their code. This... irks me... to no end. First rule of programming class: Comment your code or don't hand it in. At least thats how my very FIRST programming teacher made me feel. This is borderline juvenile and I wonder how they felt it was OK. Never be so arrogant as to believe that its OK to not comment anything especially when you know other people will be viewing it. I would say very bad words about this, but I'm trying... to restrain... annoyance... ANGER....
Moving on. If you're familiar with the MVC system (Model–View–Controller), you won't have too hard of a time digging around and finding which template files need to be changed and which don't when you get down to creating your own theme. Sidenote: If anyone can tell me why they didn't use .php extensions instead of .tpl, please share your great wisdom with me. If you're NOT familiar with MVC don't let that affect your opinion of Opencart; get to reading and maybe head to Net Tuts for their great CodeIgniter tutorials for a nice intro to MVC.
When I started creating my own OpenCart theme, I decided to make it as simple as possible so that it would work right out of the box, with as little adjusting as possible. That means the main files I've changed are located in your theme's template files, and of course your theme's stylesheet. This way a user can upgrade to the newest version of OpenCart, without having to change a bunch of other files just to make it work with your theme. Note: Anything you can't do via the admin, however, is going to mean that you'll be changing a lot of files; be sure to note which ones will be overridden when upgrade time comes.
Example of Default Code |
I'm also a little annoyed when menu items aren't wrapped in an unordered list and are instead wrapped in their own divs. Unordered lists and menus just go together well, do it! It makes them far easier to style.
My suggestion if you're going to make a theme thats not a knock off of the default, would be to start from scratch and add in the PHP hooks and filters when you need them, or to DELETE out every bit of html in the default templates (I did the latter). Trying to base your theme on the default too much, is just going to make it look... "default"-ey, and thats something users can spot within seconds.
TLDR: AHGOD. Stay away from the default theme. Learn the hooks and functions you need, and start from scratch. Be mindful of what files you are changing.
Modules
The idea of modules is great, though I have to say they are poorly implemented into Opencart. Its not that easy to install another author's module. Its not hard, but its not as smooth as one might hope for. I think I'm spoiled coming from Wordpress which has one click installs of widgets from your admin page, not lengthy uploading of files into their appropriate folders. Also, to get any of the modules to match your theme, expect to spend some time mucking about in the module's template files to restructure them to match your own.
Also, I really want a wishlist module. Thats pretty much a staple part of any online store you go to and would be a very nice touch to polishing OpenCart even more.
The OpenCart Community
Heading to any forum for help can be a scary thing. There are always people, on any forum, that frequent it daily, and will protect that forum until their dying breath. How dare you come there with your noob questions and not know as much as they do. What were you thinking? Go back to blogspot.com. Oops, I mean.... what?
This is the impression I got when first visiting the OpenCart forums; questions in hand, thirsty for knowledge! Needless to say I was a little discouraged by some of the arrogance of the, ahem, regulars, and their unwillingness to listen to any suggestions for change. Like this gem of a posting. (The original poster in that thread, Eric Lamb, also wrote up his own review of Opencart on his website here.) Yes, that is the lead developer of OpenCart calling somebody an idiot. After finding this article, I was ready to abandon my OpenCart templating project and move on to something new, preferably filled with software developers that dish out hugs and candy instead of insults. Its a sad thing, because there are a lot of genuinely helpful people on the OpenCart forums, there are plenty of people looking for a simple shopping cart solution, and there are plenty of developers wanting to sink their teeth into producing high quality themes and modules.
Whats that thing, where you overthrow the dictator? Yeah, lets do that. We'll see how my theme turns out. Its easy to get attached to a new piece of code that you've spent a considerable amount of time tearing apart. Like a puppy. Minus the tearing apart bit... Expect more OpenCart posts should I find the heart to continue.
I love your blog!
ReplyDeleteHave a nice time!
Paula
Thanks Paula :D
ReplyDelete