Best way for clients to add columns to content

For discussion and questions related to CMS Specific templates and stylesheets (CSS), and themes. or layout issues. This is not a place for generic "I don't know CSS issues"
Locked
gocreative
Power Poster
Power Poster
Posts: 265
Joined: Mon Mar 14, 2011 1:16 am

Best way for clients to add columns to content

Post 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.
Attachments
screenshot.png
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: Best way for clients to add columns to content

Post 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
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: Best way for clients to add columns to content

Post by velden »

I think in CMSMS you can only manage that by providing a template for every possible layout.
gocreative
Power Poster
Power Poster
Posts: 265
Joined: Mon Mar 14, 2011 1:16 am

Re: Best way for clients to add columns to content

Post 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.
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: Best way for clients to add columns to content

Post 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.
User avatar
Jo Morg
Dev Team Member
Dev Team Member
Posts: 1968
Joined: Mon Jan 29, 2007 4:47 pm

Re: Best way for clients to add columns to content

Post 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
"There are 10 types of people in this world, those who understand binary... and those who don't."
* by the way: English is NOT my native language (sorry for any mistakes...).
Code of Condut | CMSMS Docs | Help Support CMSMS
My developer Page on the Forge
GeekMoot 2015 in Ghent, Belgium: I was there!
GeekMoot 2016 in Leicester, UK: I was there!
DevMoot 2023 in Cynwyd, Wales: I was there!
gocreative
Power Poster
Power Poster
Posts: 265
Joined: Mon Mar 14, 2011 1:16 am

Re: Best way for clients to add columns to content

Post 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).
chandra

Re: Best way for clients to add columns to content

Post 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).
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: Best way for clients to add columns to content

Post 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.
User avatar
Dr.CSS
Moderator
Moderator
Posts: 12711
Joined: Thu Mar 09, 2006 5:32 am

Re: Best way for clients to add columns to content

Post 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/
gocreative
Power Poster
Power Poster
Posts: 265
Joined: Mon Mar 14, 2011 1:16 am

Re: Best way for clients to add columns to content

Post 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.
Locked

Return to “Layout and Design (CSS & HTML)”