Area Layout - Customizing

Permalink 1 user found helpful
Alright, so I've seen this situation pop up a few times, and I've actually just prototyped a solution, but I'd like to know how the community has addressed this in their projects, as well as what they would like to see.

What do you do, if you need several blocks to be logically grouped together? Now, with add layout + area design, we can accomplish some of this. What happens if we need more elaborate layout / functionality?

For example, maybe you have a need for a series of blocks on the left hand side, with a small call out on the right with rounded borders? Or imagine if you wanted to add a 'layout' to an area which would make it so that you could have a tabbed display where each tab has an area, which can have multiple blocks? Accordion displays?

My Solution:
In addition to rows and cols in the Add Layout dialog box, I now have the ability to select a template file. So, very similar to how you can create custom templates which control how a block is rendered, I can create a template which controls how an areas are rendered.

Would this be helpful to anyone else? How would you currently solve these challenges?

I've attached two files, one is a quick mockup of a type of situation which C5 has no solution. (The content area, and the call out 'Did you know', both would be able to accept any number of blocks of any type, so no, a custom block with a 'content' area, and a 'call out' text box, would not suffice here.

The other, is how I currently have my solution prototyped inside the Add Layout dialog.

Personally, I find it very satisfying within the C5 framework... you have MVC for pages, MVC for Blocks, I'm adding MVC for Areas. Unfortunately, it requires hacking the core a bit, so I'm also curious if this would be a popular enough of a feature to try to get integrated into core.

2 Attachments

View Replies:
nerdess replied on at Permalink Reply
Cool, I think it's a step into the right direction though the whole issue acutally puzzles me.

e.g. i currently need to show this x times on a page:

name [input field]
photo [add image]
bio [?!?]

the bio area is the one that bugs me as people would need to be able to add whatever they want into the bio area, aka more blocks.

so essentially what i need is a nesting of blocks.

the area splitter sort of does that as well as the new "Add Layout" functionality but it is all very clumsy.

we need something like this:

In edit.php of a block i can define the form elements that appear in the edit form of that block. it would be cool if i could also say sth like

bio->new Area();

and then if i save the block I would see a "bio" section inside the block where i could add more blocks.

bottom line: this nesting of blocks is a major feature that Concrete5 is missing!
TimDix replied on at Permalink Reply
Well, what you're trying to do can be easily accomplished by slightly different tatics. I would suggest that instead of trying to put all of this data onto one page, you split it up into multiple pages.

One page for each bio. The name of the page, is the name of the bio. The photo, should be an attribute of that page type. The rest of the bio, can be the Main area on that page.

Your bio list, can now consist of a Page List Block which shows all the employees below it. There are a lot of benefits to this model, and many people use it often.
arrestingdevelopment replied on at Permalink Reply

Not to coopt Raverix's topic, but something like what you're describing WOULD be cool. Especially if you could nest that new area into the Edit view of the first block... so while an editor is adding the initial block to the page, they could complete everything needed. Basically allow the nesting of block "edit.php" forms... so your initial block includes an "area" that shows the edit.php of the block you need to embed.

Anyone out there have the coding chops to tackle something like this?!?! ;D I'd buy! ;D

- John
arrestingdevelopment replied on at Permalink Reply

I could definitely see this being something useful! There are a lot of times where it would be handy to be able to apply a Custom Template to an entire area in order to customize the display/styling of the contained blocks. Like you say, it seems like a natural extension of the MVC paradigm to Areas/Layouts to me, too.

- John
weetheme replied on at Permalink Reply 1 Attachment
Hey guys, I love that i found this topic, I thought the same problem, and i've got the solution in my new theme which (hopefully) become availeable in this month (after i uploaded it to concrete5)..

see in the attachment

so there's layouts called 1-2 and 3 and you can fill the page type (or layout) with areas and than you can choose it for the page's page type. After that you have a custom page type with your areas where you can put your blocks.