building ee sites with structure
DESCRIPTION
Learn how to integrate the Structure module into an ExpressionEngine site. Kristen will go over basic concepts, best practices, and helpful tips & tricks. What you'll learn: - Why use Structure? - Difference between a Structure-managed page and a native, template-based page. - Using "listings" for large channel groups like blogs and news. - Using "assets" for non-page content, like sidebar touts & notifications. - Useful tags & techniques for your templates. - Dealing with category & archive listings.TRANSCRIPT
![Page 1: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/1.jpg)
BUILDING EE SITES WITH STRUCTURE
Presented by Kristen Grotewww.kristengrote.com
Portland ExpressionEngine MeetupMarch 27, 2013
![Page 2: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/2.jpg)
WHAT IS STRUCTURE & WHY IS IT GREAT?
Structure is EE's native Pages module on steroids.
BUILDING EE SITES WITH STRUCTURE
![Page 3: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/3.jpg)
Client-Friendly Interface
BUILDING EE SITES WITH STRUCTURE
WHAT IS STRUCTURE & WHY IS IT GREAT?
EE's Edit Screen Structure
![Page 4: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/4.jpg)
BUILDING EE SITES WITH STRUCTURE
WHAT IS STRUCTURE & WHY IS IT GREAT?
Native EE: http://www.mysite.com/blog/post/my-post-title
Structure: http://www.mysite.com/blog/my-post-title
Unnecessary Segment
Semantic, Organized URLs
![Page 5: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/5.jpg)
Unrestricted Subpage Levels & URL Segments
1 2 3 4 5 6
WHAT IS STRUCTURE & WHY IS IT GREAT?
BUILDING EE SITES WITH STRUCTURE
![Page 6: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/6.jpg)
BUILDING EE SITES WITH STRUCTURE
WHAT IS STRUCTURE & WHY IS IT GREAT?
Dynamic, Sortable, & Client-Manageable Navigation
![Page 7: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/7.jpg)
BUILDING EE SITES WITH STRUCTURE
WHAT IS STRUCTURE & WHY IS IT GREAT?
Duplicate URL Titles
Native EE:
domain.com/contact/thank-you
domain.com/register/thank-you1
Structure:
domain.com/contact/thank-you
domain.com/register/thank-youGross!
![Page 8: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/8.jpg)
● Download & install the Structure files like you normally would and install the module in EE
● The Pages module should not be installed
● Create all of your channels and templates before configuring Structure
BUILDING EE SITES WITH STRUCTURE
INSTALLATION & SETUP
![Page 9: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/9.jpg)
BUILDING EE SITES WITH STRUCTURE
INSTALLATION & SETUP
● Configure each channel in the Structure settings
Every Structure channel should be assigned a default template, but you're not restricted to only that template (more on that later)
![Page 10: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/10.jpg)
Page: A one-off entry that is part of the main sitemap (ex. Home, About, Contact, Blog Overview)
Listing: A large group of entries in the same channel that are best suited for categorization, sorting, & archiving (ex. blog entries, news items, products)
Asset: Channel entries that aren’t displayed as unique pages, but rather extra chunks of re-usable data (ex. sidebar touts, testimonials)
BUILDING EE SITES WITH STRUCTURE
INSTALLATION & SETUP
![Page 11: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/11.jpg)
Publish Your First Entry
INSTALLATION & SETUP
BUILDING EE SITES WITH STRUCTURE
A Structure tab now appears on the Publish page
![Page 12: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/12.jpg)
When You Publish an Entry with Structure, it Exists at 2 URLs:
BUILDING EE SITES WITH STRUCTURE
PUBLISHING ENTRIES
Native EE: http://www.mysite.com/blog/post/my-post-title
Structure: http://www.mysite.com/blog/my-post-title
TemplateTemplate Group
Parent Page
Entry Title
Child Page/Listing Entry Title
![Page 13: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/13.jpg)
Hide Structure-assigned templates or template groups to prevent duplicate URLs.
BUILDING EE SITES WITH STRUCTURE
PUBLISHING ENTRIES
Hide the entire group... ...or just the template
![Page 14: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/14.jpg)
Assigning Templates Per-Page
BUILDING EE SITES WITH STRUCTURE
PUBLISHING ENTRIES
"Default" Channel Content
Contact Template
![Page 15: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/15.jpg)
● Can be multiple levels deep ● Can use any Structure-managed "Page"-type channel● Can be re-ordered & moved up or down levels● The URL structure will match the subpage structure
BUILDING EE SITES WITH STRUCTURE
SUB-PAGES
![Page 16: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/16.jpg)
A large group of entries in the same channel that are well-suited to categorization, sorting, & archiving.
Examples: Blogs, Latest News, Products
BUILDING EE SITES WITH STRUCTURE
LISTINGS
![Page 17: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/17.jpg)
1. Assign a channel as a listing in Structure settings.
Assign as a Listing channel
The template the individual channel
entries will use.
BUILDING EE SITES WITH STRUCTURE
LISTINGS
![Page 18: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/18.jpg)
2. Assign the listing channel to a parent entry
BUILDING EE SITES WITH STRUCTURE
LISTINGS
The parent entry can be in any "Page"-type channel.
![Page 19: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/19.jpg)
Tip: Use an empty "placeholder" channel for listing parents with no unique content.
BUILDING EE SITES WITH STRUCTURE
LISTINGS
● Assign the template per-entry
● SEO data can still be applied
![Page 20: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/20.jpg)
Use NSM Publish Hints to help the client understand the purpose of the page.
BUILDING EE SITES WITH STRUCTURE
LISTINGS
![Page 21: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/21.jpg)
BUILDING EE SITES WITH STRUCTURE
CATEGORIES, ARCHIVES, TAGS, & AUTHORS
Zoo Triggers: http://devot-ee.com/add-ons/zoo-triggers
Install & add {triggers:entries} to your listing channel entries tag:
![Page 22: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/22.jpg)
BUILDING EE SITES WITH STRUCTURE
CATEGORIES, ARCHIVES, TAGS, & AUTHORS
Use {triggers:entries_title} in place of {exp:channel:category_heading}
Output full category & archive navigation with{exp:zoo_triggers:categories} & {exp:zoo_triggers:archive}
![Page 23: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/23.jpg)
BUILDING EE SITES WITH STRUCTURE
CATEGORIES, ARCHIVES, TAGS, & AUTHORS
Use triggers: segment variables in conditionals instead of native EE segment variables
http://domain.com/blog/category/maru
{segment_1} {triggers:segment_2} {triggers:segment_3}
![Page 24: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/24.jpg)
Flexible Sidebars Using Playa: http://www.train-ee.com/courseware/free-tutorials/comments/flexible-sidebars-using-playa/
BUILDING EE SITES WITH STRUCTURE
ASSETS
![Page 25: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/25.jpg)
Code Your Templates Exactly the Same as You Would Without Structure
Without Structure:
BUILDING EE SITES WITH STRUCTURE
TEMPLATING
With Structure:
![Page 26: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/26.jpg)
Display all sub-pages within a section:
{exp:structure:nav start_from='/{segment_1}'}
Dynamic Navigaton with {exp:structure:nav}
BUILDING EE SITES WITH STRUCTURE
TEMPLATING
Pages can be omitted from dynamic navigation by using the "hide from nav?" dropdown in the Structure tab.
Display all top-level pages:
{exp:structure:nav start_from='/' max_depth='1'}
![Page 27: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/27.jpg)
Breadcrumbs? We got yer breadcrumbs right here:
{exp:structure:breadcrumb}
BUILDING EE SITES WITH STRUCTURE
TEMPLATING
![Page 28: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/28.jpg)
StructureFrame Fieldtype
BUILDING EE SITES WITH STRUCTURE
TIPS & TRICKS
Standalone Fieldtype Supported in Most 3rd Party WYSIWYGs
![Page 29: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/29.jpg)
Prevent a duplicate/broken homepage by updating the Structure URL to "/"
BUILDING EE SITES WITH STRUCTURE
TIPS & TRICKS
![Page 30: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/30.jpg)
Use {structure:page:title} to output the current page's title without a channel entries loop.
BUILDING EE SITES WITH STRUCTURE
TIPS & TRICKS
![Page 31: Building EE Sites with Structure](https://reader035.vdocuments.net/reader035/viewer/2022062406/558fbf2d1a28ab74488b45e1/html5/thumbnails/31.jpg)
BUILDING EE SITES WITH STRUCTURE
THANK YOU!Links & Resources:
Structure on Devot:ee: http://devot-ee.com/add-ons/structure
Structure Docs: http://buildwithstructure.com/documentation
Structure Tags: http://buildwithstructure.com/tags
Zoo Triggers: http://devot-ee.com/add-ons/zoo-triggers
NSM Publish Hints: http://ee-garage.com/nsm-publish-hints
Flexible Sidebars Using Playa: http://www.train-ee.com/courseware/free-tutorials/comments/flexible-sidebars-using-playa/