amazon_store_categories.tpl.php and amazon_store_search_results.tpl.php use tables which makes layout harder to modify using CSS alone.

Yes, you can override these by customizing the templates in your theme, but this is rather tedious and error-prone (theme cache issues, etc.) when you are trying out many new themes.

I suggest that we switch to a non-table layout using div, li, etc. and CSS to create a more flexible output, and provide default CSS to demonstrate multi-column results pages, especially in amazon_store_search_results.tpl.php.

Benefits:

  • Allow fluid, multi-column output using pure CSS techniques without having to copy & modify template files.

Drawbacks:

  • Existing installations/sites may rely on current table markup in CSS; any change could break things and create bad karma.

If we are concerned about not breaking existing installations, we might make the output optional using an admin configuration option which defaults to the old table layout. I'm not enthusiastic about this option but I don't want to break a bunch of sites just because I want to avoid tables and template hacking.

We could also provide default CSS that emulates the current look and feel. That doesn't help people who rely on current table markup structure, though.

Thoughts?

Comments

rfay’s picture

Works for me.

I'd also like to see the tpl.php files have comments explaining the available variables.

mcurry’s picture

Not sure which option works for you.

1) Can we do a 'clean slate' without concern for existing installations? That's the easiest approach.

2) Or, do we need to provide backwards compatibility to prevent breakage?

mcurry’s picture

Assigned: Unassigned » mcurry

Assigning to me...

rfay’s picture

I suspect we should bump the major version number for this. Alternately, we could make it configurable. I'd rather not break existing users.

What do you think about a 3.x? in both 6 and 7?

mcurry’s picture

RE: bumping version number -- perhaps that makes sense; I am working on some new stuff including a BrowseNode functionality enhancer module.