Page 1 of 1

Best way for clients to add columns to content

Posted: Fri May 16, 2014 9:10 am
by gocreative
Typically with our sites we allow all kinds of content flexibility for clients, but one thing that has always been difficult to achieve is allowing them to use some more advanced HTML to format their content into columns.

For example, let's say the client wants to insert some normal paragraph text, then two videos side by side, then more text. Without needing to touch HTML code, this seems almost impossible for clients to do, especially because we need the page to remain responsive (so tables are no good).

We have some workarounds whereby we offer multiple content blocks that are formatted differently, but it doesn't allow clients to dump one content block wherever they like on the page, of course. So they have to use the content blocks in the order we provide, which isn't flexible at all.

There are countless sites out there that have content side by side (see attachment). So I've been wondering, are those sites only like that because the developer manages the content, or is there some way that it can be made easier for clients to insert columns directly into their content (including some kind of visual reference so they know where each column is)? How do developers normally achieve these types of things? UDTs and plugins for TinyMCE? Educating clients? Shortcodes?

An example of what I'm talking about is attached.

Re: Best way for clients to add columns to content

Posted: Fri May 16, 2014 9:18 am
by Rolf
Not sure if this answers your question, but I post it anyway :-)
https://www.cmscanbesimple.org/blog/cha ... ge-content
https://www.cmscanbesimple.org/blog/fle ... wyg-editor

grtz. Rolf

Re: Best way for clients to add columns to content

Posted: Fri May 16, 2014 9:20 am
by velden
I think in CMSMS you can only manage that by providing a template for every possible layout.

Re: Best way for clients to add columns to content

Posted: Fri May 16, 2014 12:35 pm
by gocreative
Thanks Rolf but that's not quite what I was after. I already have multiple content blocks which can be output in a certain order according to the user's preference. I was thinking more about ad hoc columns by using a plugin or UDT.

For example, click a "columns" button on the editor which inserts some shortcode such as:

[column] your text here [column_end]
[column] your text here [column_end]

Then a find/replace when outputting the content converts this as required.

Anyway, it may not be possible.

Re: Best way for clients to add columns to content

Posted: Fri May 16, 2014 12:38 pm
by velden
I'd like to point you to this article: http://www.i-do-this.com/blog/Smarty-te ... -Simple/57

Still not what you're looking for but it makes creating multiple templates based very easy and maintainable.

In my opinion it's a must-read for everyone ending up with multiple templates.

And it's possible to move the 'template dropdown' from options tab to main tab of content edit page. So then it will be easier for your editors to pick another template that suits their needs.

Re: Best way for clients to add columns to content

Posted: Fri May 16, 2014 12:47 pm
by Jo Morg
Actually I would go with a list kind of solution...
Check this link for a sample usage and a few problems and solutions.
Then your editor would only have to use:
<li> your text here </li>
<li> your text here </li>
etc...

HTH

Re: Best way for clients to add columns to content

Posted: Fri May 16, 2014 2:46 pm
by gocreative
Thanks for all the replies but I don't think I'm explaining it properly. I know I can use multiple templates and I've already got a responsive framework in place to handle columns. I'm just talking about clients wanting to make two or more items (text, images, videos etc -- anything) sit side by side within the main content of the page, with equal widths, and no HTML editing required. This would save me needing to create additional content blocks or templates.

At the moment I use ListIt2 to allow clients to create "content blocks" and choose where it should be displayed, such as above or below the main page content. They can also choose which page(s) it should appear on. The problem is, if they want content then, say, two columns, then more content, it becomes more complicated.

It's not a major problem. I was more curious about how other developers handle this for their clients (as per the original screenshot).

Re: Best way for clients to add columns to content

Posted: Fri May 16, 2014 3:01 pm
by chandra
Have you tried Advanced Content module?

There you can define checkboxes in backend. The result you can use as switch to make predefined content blocks visible (or not).

Re: Best way for clients to add columns to content

Posted: Fri May 16, 2014 3:25 pm
by velden
You are pretty clear. But I don't think CMSMS offers what you want.

CMSMS needs a template where the content blocks are predefined.

Re: Best way for clients to add columns to content

Posted: Tue Jun 17, 2014 5:21 pm
by Dr.CSS
I've made templates that use a bunch of smarty logic so adding content to different content blocks will make it change layout, the max was 8 variations/layouts...

This is a simple maximum 3 column, all but one page uses the same template, it also has 2 different responsive menus...

http://themes.multiintech.com/

Re: Best way for clients to add columns to content

Posted: Tue Jun 17, 2014 10:22 pm
by gocreative
Yeah I do the same thing with templates. I always have one page template, and within that, clients can:

1. Enable/disable a right or left column.
2. Add content to multiple content blocks.
3. Add content to additional "sections" (content blocks) which they can enable/disable, choose a colour scheme/layout for, and so on.
4. Create individual HTML content via ListIt2, assign it to appear on one or more pages, in one or more positions, and change the appearance based on their position.
5. Override the abovementioned LI2 items on a per-page basis (i.e. enable/disable all blocks), and also choose how many blocks to show per row across the page.
6. Enable/disable various other elements such as sliders, breadcrumbs, contact forms, testimonials etc per page, and optionally override these settings for mobile devices.
7. Change the page theme (colour scheme).

It's insanely flexible but still easy for me to maintain.

Thinking more about what I've been trying to do in this topic, the only solution I can come up with would be to create a custom dropdown in TinyMCE which allows the user to insert a module call for LI2 which displays content blocks within the content of a page, rather than only using the pre-defined positions I've allocated in my page template. This way they could output content blocks anywhere they like.