Item/project Listing - Best Practices?
Permalink
So, I have a situation where a client needs projects listed in several ways throughout his site. Each project is NOT a page though, which leads me to wonder about the best way to do this. There will be 3 types of blocks that will access the info, so I will be using a package. Here are the ways I can think of doing it, but I would like comments on perhaps the best way you guys have thought of, since I am on a time constraint.
3 Blocks: One with just a select field to select a project added, this will just show up in a sidebar on specific pages, a tombstone list of all projects (much like a pagelist, but this is of course easy to code), and an alternate page list block with just some images.
1. Package Level Schema
Much like proevents, use a package level schema, and a single page editing interface. Only thing I'm not really sure of is how to C5 will connect the schema to that page (and I'm not finding it clearly in the proevents code, mostly because there is so much other stuff there too). Is there an automatic way to do the crud?
2. Page Type with Attributes
Just forego the schema, and use attributes on a page type. I hate cluttering the attribute system up though, but this seems like an easy way to "cheat". I'd just have to set the attribute for hide from navigation. I also don't like creating fake "pages"
3. Page Type with a Master Block
Just make a typical block, and query that for the info. I'm more used to blocks, so that is easier, but I still don't love the idea of creating pages when there are no real pages.
Any input on which design people tend to prefer, or one I haven't even contemplated yet?
3 Blocks: One with just a select field to select a project added, this will just show up in a sidebar on specific pages, a tombstone list of all projects (much like a pagelist, but this is of course easy to code), and an alternate page list block with just some images.
1. Package Level Schema
Much like proevents, use a package level schema, and a single page editing interface. Only thing I'm not really sure of is how to C5 will connect the schema to that page (and I'm not finding it clearly in the proevents code, mostly because there is so much other stuff there too). Is there an automatic way to do the crud?
2. Page Type with Attributes
Just forego the schema, and use attributes on a page type. I hate cluttering the attribute system up though, but this seems like an easy way to "cheat". I'd just have to set the attribute for hide from navigation. I also don't like creating fake "pages"
3. Page Type with a Master Block
Just make a typical block, and query that for the info. I'm more used to blocks, so that is easier, but I still don't love the idea of creating pages when there are no real pages.
Any input on which design people tend to prefer, or one I haven't even contemplated yet?
I can create my own blocks, that is in no way the issue. The question is about best methods for storing this data and retrieving it, and whether it is better to do it as a page or as a single page editing module.
Depending on how much information you have to show the easy accordion may be a nice way to handle thishttp://www.concrete5.org/marketplace/addons/easy-accordion/...
Easy to use, shows a lot of content in a minimal space, and looks good.
Easy to use, shows a lot of content in a minimal space, and looks good.
Please, share how you solved the situation with projects lists?
You could use this FREE add-on to create your own custom blocks:
http://www.concrete5.org/marketplace/addons/designer-content/...
And, then you could create separate stacks for each type of format of listing.
Then, all you would have to do is simply add the stack to the pages you want them displayed on!
To me, that's the most efficient way I can think of for this type of project.