Hi there,
Having had years and years of experience with Wordpress, I’m now digging into ExpressionEngine for a client project. I have a simple question, which I’m simply asking since I think I’ve gotten this one wrong.
Challange
I have the following pages and page elements:
About - 2 paragraphs, 3 images
Service 1 - 3 paragraphs, 2 images
Service 2 - 9 paragraphs, 1 images
Service 3 - 1 paragraph, 9 images
Portfolio - X paragraphs, X images
Contact - 2 paragraphs, one image
Each page requires a specific layout/template e.g. exact positioning of paragraphs and images (web designer went ballistic with his pencil), and thus is not something like:
<div class="content">
<h1>Title</h1>
Paragraph 1
image.jpg
Paragraph 2
</div>Hence, I cannot use a singe content field (as the only one) for any of the templates. Thus, I must enable the use of more than one field per page, and unfortunately that field has to be required as well (upon the client’s request).
First take
My first take was to create a Channel called “Static pages”, create all Channel Fields needed in a Channel Field Group for that channel, and afterwards modify the Publish Page Layout for each page template. However, due to the client’s asking about required field entries, I have to find another solution as I don’t want to display all Channel Fields on all Publish Page Layouts.
Question
Can it be true that the only way to accomplish the above is to set up a Channel for each page and create Custom Field Groups accordingly? If yes, how would I then avoid my client creating X amount of entries for each channel (as I only need one entry/“page” per channel)?
Possible way(s) to go?
I’ve stumbled upon the Matrix (http://pixelandtonic.com/matrix) add-on, but cannot figure out if that will make magic happen for every page other than the “Porfolio” page. I mean, is it possible to set up a fixed Matrix for a page-template with that add-on?
[UPDATE] Furthermore, I’ve checked out Low Variables (http://gotolow.com/addons/low-variables), which seems to get the job done. I’m just not quite sure whether this is a proper solution speed/performance-wise?
I appreciate any hint!
Thanks,
Marc