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.

Understanding the right approach to creating a portfolio site.

May 06, 2012 5:51am

Subscribe [2]
  • #1 / May 06, 2012 5:51am

    eliptus

    35 posts

    Hello

    I have been using EE for a little while at a fairly basic level and am embarking on a personal folio website.

    I have been using the excellent book from Train-ee to get to grips with EE in more depth but am having difficult applying some of the principles in the book to what I want to achieve.

    One of the concepts that I am finding difficult to grasp in EE is how to return specific data under the following conditions.

    1. I have set up a channel called ‘design_folio’

    2. I have set up a channel field group which contains the following fields
    Client Name
    Project Descripter
    Folio Slides (This is a Pixel and Tonic Matrix field)
    Folio Thumbnail

    3. I have two templates, the first is the top level navigation page for the folio which currently returns the ‘Folio Thumbnail’ images as an image tile menu for all content entries in the channel ‘design_folio’.

    The second template is one that displays the entire content of the of any particular folio project within ‘design_folio’

    4. My challenge is that I cant grasp how to dynamically create a url to only return the content relevant to the image tile representing a single project when it is clicked in the index page.

    I had initially thought that I might use Categories to do this and managed to get that working when I wanted to create an index for categories and return results for a category like ‘packaging’ for example, however when I wanted to make it more granular and create an index page not by category but ‘by project’ I cant figure out how I should approach it without hard coding the urls somehow.

    Is there a native EE way to achieve what I want to do without using Categories or do I need to use Categories in a different way?

    Thanks in advance to anyone who can help me work out how to approach this concept in EE.

  • #2 / May 06, 2012 8:28am

    John St-Amand

    865 posts

    If I’m understanding your structure correctly, you should be able to get there pretty quickly.  Here’s a quick example:

    INDEX TEMPLATE WITH LIST OF PROJECTS

    {exp:channel:entries channel="design_folio" orderby="date" sort="desc" limit="30" disable="member_data|categories" paginate="bottom" dynamic="no"}
    {if count == "1"}<ul class="folio-thumbs">{/if}
    <!-- whatever other markup you need, supported by your CSS for the display of your list -->
    
    <a href="http://{url_title_path=portfolio/project/}">{folio_thumbnail}</a>
    
    {/if count == total_results}</ul>{/if}
    
    {paginate}{if {total_pages} > 1}
    Page {current_page} of {total_pages} pages {pagination_links}
    {/if}{/paginate} 
    
    {/exp:channel:entries}

    The example assumes:

    1) that your template group is called “portfolio”
    2) your single project view template is called “project”

    THEN IN YOUR “PROJECT” TEMPLATE

    {exp:channel:entries channel="design_folio" orderby="date" sort="desc" limit="1" disable="member_data|categories|pagination" dynamic="yes"}
    
    <!-- all your single entry markup would go here - title, description, client name, matrix of images, etc. -->
    
    {/exp:channel:entries}

    This would result in a single project view URL being: domain.com/portfolio/project/project-name-here

    If you were aiming to remove the “project” segment, you’d have to run some conditionals within the “portfolio” template to allow one template to server as your list view AND your single entry view.

    Note: In Boyink’s example, if I remember correctly, he uses categories for client so that you can use categories to relate projects together on the basis of a shared client category - so if you envision putting together - a few project examples completed for the same client, then this would give you the option of creating a dynamic display of projects by client.

    Hope this helps and is what you were looking for.  Cheers.

  • #3 / May 07, 2012 9:22am

    eliptus

    35 posts

    Hi John

    Thank you very much for the quick reply and the well documented examples, its very kind of you to be so thorough, I’ll give that a go over the next couple of days and see how I get on.

    Cheers

    Elliot

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

ExpressionEngine News!

#eecms, #events, #releases