Page Type Defaults Editing - Add Layout

Permalink
Is there a reason why the feature "Add Layout" isnt available within the Page Type Defaults?

I thought the idea was to setup as much as possible before you added a page to your site?

And while I am at it, :-) I wondered if what this this feature accomplishes is supported in all the browsers (How does it do what it does?) Anyone know?

And of course, I do love that feature it is great to use.
Thanks.

stephenlaw
 
openly replied on at Permalink Reply
openly
I am not sure of the exact reason but I assume it because if you require a new layout that you need to use a few times throughout your site you would be better to create a new page type with defined editable areas.

Creating new page type is very easy with concrete5 and would be a better solution.

Remember you can save layout presets to make easy to add them to new pages where needed.

Yes it is supported in all browsers.
jordanlev replied on at Permalink Reply
jordanlev
Unfortunately the Page Defaults implementation leaves a lot to be desired. It doesn't work with layouts, it doesn't work with designs (although I think this is being fixed in the upcoming version 5.4.1), and re-positioning the blocks doesn't have any effect on pages that already exist. (And furthermore if a user ever edits a block on a child page, it automatically becomes its own block that no longer changes when the Page Defaults change).

If this is important to you, I created an addon that lets you bypass page defaults and instead designate a page on your site as a "template" for an area, so any changes made to that page (the home page by default) will carry over to all other pages on your site that have that area (including layouts, custom designs, and positioning). It has a big limitation in that it doesn't work for certain kinds of blocks like autonav breadcrumbs (it always points to the template page) or the survey block (it posts results to the template page), BUT it works great if you just have content, images, and links in your sidebars. You can find it on the forums here:http://www.concrete5.org/community/forums/usage/a-new-approach-to-a... (scroll to the very bottom to get the most up-to-date version).

As for how the layouts work, I think they just set divs with a percentage width. 3 columns is 33% each, 4 columns is 25% each, etc. As long as those divs are inside another div (which is almost always the case), they will take on that percentage of the parent div's width, so they don't extend out past their containing area.
Mnkras replied on at Permalink Reply
Mnkras
i think David Mirv made a path so that it can copy layouts, not sure if he put it on the forums, and hes been kinda absent lately
tgriffin replied on at Permalink Reply
tgriffin
As a quick and dirty work around, I created a two column layout (with text content) on a separate page and then opened view source and copied the page code for that layout (and the content) and pasted it into an HTML block in the page type defaults.

The major drawback is that you can't adjust the layout from the page type defaults using this method (that is, you can't adjust using the slider), but it allowed me to quickly add a customized two column layout to a page type default without having to go and code a new page type. Yes, before everyone starts yelling at me I'll admit I was being lazy.

Also, because you can't adjust the layout, it adds a bunch of page code that you could probably just add yourself as inline <div style=""> markup. However, it's probably safer - if you're in a hurry - to take advantage of the page code this method gives you since it references core Concrete5 CSS, so the result will be more predictable than trying to add your own styling.

So, if you're in a hurry this method does allow you to add multiple columns to page type defaults without having to tweak or create your own floating child divs with padding and widths, etc. Plus, using this method you can still tweak the column widths by editing the HTML block.

I haven't purchased it, but I'm also guessing you can buy the Area Splitter add-on and add that as a block in the page defaults.