Wondering whether anything like this already exists out there already. What I want to do is allow content for static blocks and CMS pages to be defined in specific content blocks that have individual fields with the content in them.
So, when editing a CMS Page, you would have a list of N content blocks which each contain their own set of fields based on the schema definition for that particular content block.
For example, imagine a page that has a hero section at the top with a hero image + title + subtitle, then below it a simple set of paragraphs, then below that a feature image set with a grid of feature images that have image + name + description.
That would look like:
- Block (hero)
- Title: (text field)
- Subtitle: (text field)
- Image: (image upload)
- Block (paragraphs)
- Content: (textarea)
- Block Set (features)
Each type of block would need to be defined in config.xml and have a template implemented by a developer. But once that work was done, the content admin should be able to put together relatively rich pages without having to touch HTML at all.
--
This is kind of similar to how I understand the Advanced Custom Fields (w/ the Repeater add-on) plugin for Wordpress to work: http://www.advancedcustomfields.com/
--
I'm guessing maybe Widgets could help with some/all of this? Not totally sure - I'm open to using them, but it would have to be relatively easy for the content admin to manage. The way that widgets are embedded within a wysiwyg like this I don't think is super friendly, especially if your page is going to be made up entirely of 5 or 10 or 20 of them: http://www.magentocommerce.com/images/uploads/kb/tutorial-creating-a-magento-widget/widget-in-wysiwyg-mode-1.png
Thanks @brendanf! So it sounds like this would be something you'd be interested in then?
Actually one angle that I was thinking about for this was whether it made sense to simply run all content management through Wordpress. Most sites have a wordpress blog anyways and it may be the more natural place to deal with content management - and I guess it would allow you to use things like the Advanced Custom Fields right out of the box.