Creating your own theme is really quite easy.. you CAN just make css changes for much of the cart and there are lots of css tags already in the default theme. I'd actually like to see authors start pushing the limits of what can be done as CSS only and challenging themselves to making CSS only themes. There are many CSS only themes out there, though most are quite simple and do nothing more than change some colors. CSS is more power than that.

But as others have said, it might make it too easy to rip off commercial themes. And nobody rips off WP themes... no never

Qphoria wrote:Creating your own theme is really quite easy.. you CAN just make css changes for much of the cart and there are lots of css tags already in the default theme. I'd actually like to see authors start pushing the limits of what can be done as CSS only and challenging themselves to making CSS only themes. There are many CSS only themes out there, though most are quite simple and do nothing more than change some colors. CSS is more power than that.

But as others have said, it might make it too easy to rip off commercial themes. And nobody rips off WP themes... no never

Not sure how I feel about that...vQmod is so prevalent at this point that developers will continue to use it, and if the core modification system is not as good as vQmod, it probably won't be used. It seems like it would have been better to just include vQmod in the download.

There are goals of multiline search/replace so the offset attribute is gone.
it is still early I'm guessing but when its all said and done, it won't likely be vQmod compatible out of the box.

One of the biggest challenges for theme development still is to find a more elegant way of allowing multiple addons to modify the same core template file. While it is easy to have 3rd party addons extend core classes and override their methods, or even to change entries in the language files, I have yet to see any good solution when it comes to templates. VQmod does it for the latter to a degree, but I still think there could be a better solution.

When it comes to changing the look & feel only, nothing beats proper CSS and graphics, as demonstrated by the CSS ZenGarden example.

It definitely won't and to me it's pointless making two versions of mods for different systems that are similar but not quite the same. vQmod works... and has been widely accepted as the standard simple way to get mods working without breaking the core. It takes 2 minutes if that to install and can save hours in custom editing. I've been watching the modification system's evolution in github closely, and it seems to me it becomes more and more like vQmod every day. As Ryan's said, it seems pointless to reinvent the wheel at this point

JNeuhoff wrote:
When it comes to changing the look & feel only, nothing beats proper CSS and graphics, as demonstrated by the CSS ZenGarden example.

I don't know if you have already tried to build a theme with a different structure from the default's theme but it can be really laborious and time consuming. I know that you can do a lot of things with just CSS, and believe me when I say that I always try it to the max, but there's a lot of things that CSS can't solve.
The CSS from the default is hardly commented, and sometimes it's just a lit bit odd. Besides that, the tpl files also don't have any comments and the code is kind messy - in the sense of organization - and barely indented. There isn't enough - descriptive and logical - classes and some are even used a lot of times in different places, making independent styling of elements impossible or very hard to style without use a lot of selectors.

I have a small business that just works with building webpages - we don't sell templates - and we use Joomla, Wordpress and Opencart building our own custom templates from the scratch, so we can have the cleanest code possible. To make things easier we are building a blank theme for Opencart using the Foundation Framework. Once it's ready we'll share it for free. We've built it trying to not modify the bases of the Default Theme, although it doesn't use any CSS from it. We got to keep it clean, with more logical, clean and commented CSS and tpl's, adding new - and pretty distinguishable - classes when needed and some divs and font icons just to make the framework work properly.

Now we can build our themes much easier and also we can use much more CSS than anything else
We're still testing it but till now it worked with anything we've thrown at it, but of course there's no guarantee.

Qphoria wrote:Creating your own theme is really quite easy.. you CAN just make css changes for much of the cart and there are lots of css tags already in the default theme. I'd actually like to see authors start pushing the limits of what can be done as CSS only and challenging themselves to making CSS only themes. There are many CSS only themes out there, though most are quite simple and do nothing more than change some colors. CSS is more power than that.

But as others have said, it might make it too easy to rip off commercial themes. And nobody rips off WP themes... no never

That would have my vote if only the html output (templates) was better and the class hierarchy made actual sense, and (despite of an earlier promise) it still uses inline styles. I know the possibilities and limits of css, and I find it frustating that so much more would be possible, with some minor adjustments. The html of OC is developed not for theme flexibility, but rather to support the default theme, at some points almost in an amateurish way. This is also a problem for lots of extensions, where the html output is of course based on the OC output.

Qphoria wrote:Creating your own theme is really quite easy.. you CAN just make css changes for much of the cart and there are lots of css tags already in the default theme. I'd actually like to see authors start pushing the limits of what can be done as CSS only and challenging themselves to making CSS only themes. There are many CSS only themes out there, though most are quite simple and do nothing more than change some colors. CSS is more power than that.

But as others have said, it might make it too easy to rip off commercial themes. And nobody rips off WP themes... no never

That would have my vote if only the html output (templates) was better and the class hierarchy made actual sense, and (despite of an earlier promise) it still uses inline styles. I know the possibilities and limits of css, and I find it frustating that so much more would be possible, with some minor adjustments. The html of OC is developed not for theme flexibility, but rather to support the default theme, at some points almost in an amateurish way. This is also a problem for lots of extensions, where the html output is of course based on the OC output.

Actually, the template system could use a lot of improvement...
Besides all the "CSS hacks", the far from semantic coding, the excessive use of javascript in some points and the annoying inline styling, the whole system makes our lives a lot hard...

See, maybe I need the breadcrumbs under the content part, so what do I have to do? Change it in all the single pages in my template... Man, it's a lot of work just for that.
One of the greatest thing in the template system is the overrides, but it also brings some drawbacks the way it works now. To me (I don't know about the others template makers) a template system like the one in Joomla would make a lot more sense. I know they are very different systems with very different aims. But the template structure in Joomla is great, more logical and make it harder to break things up.
You basically need a xml and a index.php. You can create your own modules positions as you need, put anything in any place and change the whole html without even touch any core file... If you need to override one module or component, you just create that override (opencart does that, I know). And if you need the same module, or component with two or more overrides, you can do it too (opencart doesn't do that out of the box). This way is pretty easy to build complex structures, and do it pretty fast!

The way the template system works in oc makes a lot of things really hard and forces template makers to do some mess to make a great theme.
I think that we shouldn't even need vQmod or anything "off-opencart" if we had a solid structure for the template system and for the module system... I'm not against vQmod, and I really appreciate all the hard work Qphoria has done, but it gets harder and harder to find anything that doesn't uses vQmod, and at this point you gotta ask yourself: "Why is there a module system in OC? Why should I use it? Why should I build anything using this

intersect wrote: and at this point you gotta ask yourself: "Why is there a module system in OC? Why should I use it? Why should I build anything using this

There is an "Extension" plugin system in OpenCart... and Extensions are typically not vQmods.
Extensions cover 5 main plugins:
- Modules (sideboxes)
- Payments
- Shipping
- Order Totals
- Feeds

Those are all stand-alone files that are completely dynamic in the cart and hold their own sustainable functionality pulled in by a true-to-point plugin system. It works great but is limited only to "extending" those few types of elements.

Wordpress mod system uses hooks ... hooks are great as they offer more dynamic triggered abilities on state changes but are still limited to where the actual hooks area placed... You can do a lot more with hooks and you can add more and more hooks to different places.. but you still can't place hooks on every single line of code... and you can't change a single line of code in wordpress with hooks ... So mods are limited and controlled by existing functionality. So themes do not break wordpress mods because they are kept in a sandbox of limited controls. This is no different in OpenCart.... opencart extensions are not theme dependent.

The fact is, the extreme granular modding abilities that vQmod allows is a double-edged sword. vQmod is the ONLY modification system in the entire world on any platform in any language that allows character-by-character file modding. And because it allows such a granular level of changing, this causes more problems. The whole "with great power comes great responsibility" talk... Other platforms don't have this problem because other platforms don't have this level power.

So perhaps I am at fault... If I didn't make vQmod, and left modding at a less detailed level, we wouldn't be having this conversation and opencart modding would be much more limited and require hardcoding.

Na, the only thing you and Jay are at fault for is creating a tool that makes OpenCart modding dramatically better. Can you imagine if we were still stuck with file replacements and tedious find-replace instructions? The Extension Store and all the free mods available would be a shadow of what they are now.

Qphoria wrote:
Wordpress mod system uses hooks ... hooks are great as they offer more dynamic triggered abilities on state changes but are still limited to where the actual hooks area placed... You can do a lot more with hooks and you can add more and more hooks to different places.. but you still can't place hooks on every single line of code... and you can't change a single line of code in wordpress with hooks ... So mods are limited and controlled by existing functionality. So themes do not break wordpress mods because they are kept in a sandbox of limited

Agreed, hooks have limited capabilities, according to where they are triggered.

We have created the dynamic chain of class extensions design pattern in the Override Engine, which allows almost all controller or model classes to be extended and then any of their public or protected methods to be overridden. It's an easy way to add new features, though it doesn't have the fine granularity of VQmod. VQmod is still supported by the Override Engine, too.

Qphoria wrote:The fact is, the extreme granular modding abilities that vQmod allows is a double-edged sword. vQmod is the ONLY modification system in the entire world on any platform in any language that allows character-by-character file modding. And because it allows such a granular level of changing, this causes more problems. The whole "with great power comes great responsibility" talk... Other platforms don't have this problem because other platforms don't have this level power.

So perhaps I am at fault... If I didn't make vQmod, and left modding at a less detailed level, we wouldn't be having this conversation and opencart modding would be much more limited and require hardcoding.

To be honest, I think vQmod is really a awesome tool, don't get me wrong . It is so powerful and yet so simple to use that is hard not to use it. I'm no developer and in 5 minutes I've done some mods
I don't think that the guilty on is who makes the tool, but who uses it.
It's like you said, that's one of the problems: too much power. I don't know what you developers think about this problem, but I think that it can be a big problem in the near future. Maybe that's why Daniel is making "oc's own vQmod", to avoid the mess it can become. We really need some standards, so the whole cart can grow without bigger problems.
There's a lot of area for improvement, and to me (repeating myself: I'm no developer, I'm a front-end coder/designer) the template system (make it easier to work with and more logical) and the extension system are the ones that need more attention...

I just hope to not be offending anyone, that's not what I mean.
Keep up the good work

JAY6390 wrote:FYI the mod system Daniel is adding is practically identical in function to VQMod. It will have little if any less power when it comes to the mods you can achieve

I do recommend he remove the position="all" attribute type... as that was a bad idea to add.. its just too dangerous and dopes use it to replace entire files. We should really remove it from vQmod to avoid the abuse of that power.

JAY6390 wrote:FYI the mod system Daniel is adding is practically identical in function to VQMod. It will have little if any less power when it comes to the mods you can achieve

With the added benefit of not being compatible with vqmod.

Qphoria wrote:I do recommend he remove the position="all" attribute type... as that was a bad idea to add.. its just too dangerous and dopes use it to replace entire files. We should really remove it from vQmod to avoid the abuse of that power.

I think if the user is careful to control load position through script naming it could theoretically be useful (I haven't seen one in the wild in ages and haven't ever used it myself though).

To me, the implications of a replace all are just too much for those that code correctly. I agree we need to remove position="all" as of the next version (or at least mark it as deprecated as of version X)