ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Best way to create multiple page layouts/templates (each with required custom fields)?

April 03, 2013 10:09am

Subscribe [3]
  • #1 / Apr 03, 2013 10:09am

    penelopecircle

    1 posts

    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

  • #2 / Nov 01, 2013 2:05pm

    Andrew Barden

    2 posts

    Hi Marc, I’ve just posted a question that’s looking for the same solution.

    I see you posted this months ago with no reply, so my chances of reply are looking grim. However, I’m hoping you can let me know how your project turned out. I’m using Structure, Playa, Low Variables (for global options and custom menus). I’m looking at Blueprint for customizing the manager’s experience a bit better, but haven’t made the jump.

    Coming from a Wordpress background (using Advanced Custom Fields), I’m having trouble duplicating the same quality of user experience when managing content.

    I have set up a channel for each unique page template, and using Structure, every time I add a page I’m able to choose which channel/template to use. However, that seems really messy from a data perspective when the aforementioned channels should really be a ‘page’ channel.

    Do you have any recommendations based on your experience?

  • #3 / Aug 29, 2014 2:10pm

    FlyDuo

    25 posts

    Hey Guys,

    I usually create a channel per unique section, which also has been great for the end-user when editing and adding content. It’s been my experience that site editors usually tend to think in sections anyway when they’re going to begin a content related task - ie About page, Services, Contact, etc.

    That way when they want post an entry for say their “portfolio”, they’ll choose create new portfolio entry, and so on and so forth. I prefer to setup my projects so that the end user makes post in a way that feels second nature.

    As far as templates: I’ll usually name my template.group the same as the corresponding channel name for consistency, which is great once there is more than 1 developer on a project. There is also an option within each channel’s settings/manager screen to set the live-look template group for the channel, then choose the matching template.

    As far as wanting to restrict how an editor can post or edit content, I feel your pain there, I wish there was more fine-grained control by default. But, if you’re open to using a 3rd party addon: Zoo Flexible Admin extends the default options for controlling user’s/user groups permissions, find it on Devot-ee.com: http://devot-ee.com/add-ons/zoo-flexible-admin

    Using Zoo Flexible Admin, I believe you can go into user/member settings and set it so that a user can edit a specific channel type’s content, but not add new entry’s of that type - Check their docs, you’ll see it’s pretty powerful.

    *Note: I’ve purchased Zoo, but haven’t used it in production first hand yet. I Hope to soon though.


    I Hope this info is helpful to you both,
    Reuben

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases