Stacks not quite what I thought, so now what?

Permalink
When I started with Concrete5, i was under the impression that Stacks of Blocks were more like what I know now to be collections. So, for instance, I need my web site to list conferences. I have a new block type called conference and from there you can enter dates, locations, etc. On my Conferences page, I have added a stack (a Conference stack) and while it includes conferences I've added to the stack, it doesn't include them automatically (which is what I had hoped would happen).

Given the nature of my problem, can anyone suggest a good method for going about accomplishing it. I have a conference block developed. I would like the newest conference block to appear on the home page. I would like all conference blocks to automatically appear on the Conferences page. Any thoughts?

russellbits
 
JohntheFish replied on at Permalink Best Answer Reply
JohntheFish
The usual solution is to use pages as data objects. So you would have one page per conference (maybe using your conference block).

Attributes can be used to decide if these pages appear in the navigation, or are purely used as data items.

You can then display lists / filters / searches using all the usual c5 blocks for such actions.

There are plenty of addons that can help you add to such a data architecture, though for many applications you need no more than the core.
mhawke replied on at Permalink Reply
mhawke
Have a look at the add-on called 'Easy Gigs':

http://www.concrete5.org/marketplace/addons/easy-gigs/...

I have no connection to the developer. I have used the ad-on and like it very much. It follows JohntheFish's idea that each Conference is on it's own page and the Easy Gigs links to that page.
russellbits replied on at Permalink Reply
russellbits
Thanks for the hint on the add-on. I'm really interested in improving my Concrete5 development skills, so I'm going to try to tackle this on my own first.
mhawke replied on at Permalink Reply
mhawke
I've found that I can struggle for a week to figure something out on my own or I can buy a well-built add-on and look to see how they built it and then I have gained a lot of knowledge in an afternoon. The richest among us cannot buy time.
russellbits replied on at Permalink Reply
russellbits
I still want to try myself, but I appreciate the wisdom in your statement!
russellbits replied on at Permalink Reply
russellbits
Thanks for the explanation @JohntheFish! That makes sense to me. I'll look into pages as data types.
russellbits replied on at Permalink Reply
russellbits
To clarify a little more. When I create a page list block, it wants me to choose a Page Type to sort and display. So, if I create a Conference Page Type, and then make several conference pages, I can do a couple of things. The Conference block can have two different views, so I'll create one block view that just shows the pertinent information for use on the Home Page or the Conferences page and the block will have a link to the instance of the conference (page). Then, on the conference page itself, the conference block will have a view that will show all the information (and no link). Does this seem like a good strategy or am I missing something in your suggestion?
DreamMedia replied on at Permalink Reply
DreamMedia
The Jump Marks & Summary add-on gives you a different approach to your problem. If you add the functionality of the jump marks to your already existing conference block, you could place a summary block on your home page which only shows the newest conference and another summary block somewhere else which gives a more overall overview.

You wouldn't need to create new page types or pages for your conferences. You could structure your side just with your conference block and place them where ever you want.

How to add the jump marks functionality to another block is explained in the documentation of the add-on:

http://www.concrete5.org/marketplace/addons/blog-anchor/...

It's not complicated and definitely worth a look.

Cheers,
Daniel

PS: and yes, I'm related to the developer ;-)