Paper Plan

Channels:

Name Short Name Field Group Category Group Status Group
Page pages Page Fields None Default
News Article news_articles News Article Fields News Categories Default
Video videos Video Fields Video Categories Default

Custom Fields:

Page Fields:

  1. Alternate Title: {page_alternate_title}
    • Type: Text
    • Length: 255
  2. Tagline: {page_tagline}
    • Type: Text
    • Length: 255
  3. Lead: {page_lead}
    • Type: Textarea
  4. Content: {page_content}
    • Type: NSM TinyMCE (WYSIWYG)
    • Configuration: Advanced
  5. Images: {page_images}
    • Name: page_images
    • Type: Matrix
    • Columns:
      1. File: {page_images_image_file}
        • Type: File
        • Upload Prefs: …
      2. Caption: {page_images_image_caption}
        • Type: Text
        • Length: 100
      3. Credit: {page_images_image_credit}
        • Type: Text
        • Length: 100
  6. Search summary: {page_search_summary}
    • Type: Textarea
    • Required: No
    • Collapsed: Yes

News Article Fields:

  1. Alternate Title: {news_article_alternate_title}
    • Type: Text
    • Length: 255
  2. Tagline: {news_article_tagline}
    • Type: Text
    • Length: 255
  3. Lead: {news_article_lead}
    • Type: Textarea
  4. Content: {news_article_content}
    • Type: NSM TinyMCE (WYSIWYG)
    • Configuration: Advanced
  5. Images: {news_article_images}
    • Name: news_article_images
    • Type: Matrix
    • Columns:
      1. File: {news_article_images_image_file}
        • Type: File
        • Upload Prefs: …
      2. Caption: {news_article_images_image_caption}
        • Type: Text
        • Length: 100
      3. Credit: {news_article_images_image_credit}
        • Type: Text
        • Length: 100
  6. Search summary: {news_article_search_summary}
    • Type: Textarea
    • Required: No
    • Collapsed: Yes

Video Fields:

  1. Alternate Title: {video_alternate_title}
    • Type: Text
    • Length: 255
  2. Tagline: {video_tagline}
    • Type: Text
    • Length: 255
  3. Lead: {video_lead}
    • Type: Textarea
  4. Content: {video_content}
    • Type: NSM TinyMCE (WYSIWYG)
    • Configuration: Advanced
  5. Images: {video_images}
    • Name: video_images
    • Type: Matrix
    • Columns:
      1. File: {video_images_image_file}
        • Type: File
        • Upload Prefs: …
      2. Caption: {video_images_image_caption}
        • Type: Text
        • Length: 100
      3. Credit: {video_images_image_credit}
        • Type: Text
        • Length: 100
  6. Search summary: {video_search_summary}
    • Type: Textarea
    • Required: No
    • Collapsed: Yes

IA (URLS + Templates)

Pages

  • Homepage: The site hompage
    • Content: Page + Index
    • URL: /
    • Template: site/index
    • Entry channel: Page
    • Index channel: News Article
  • 404:
    • Content: Page
    • URL: Dynamic
    • Template: site/404
    • Entry channel: Page
  • Contact:
    • Content: Page
    • URL: /contact/
    • Template: _layouts/1col
    • Entry channel: Page

News Articles

  • Index: 10 recent news entries in reverse chronological order
    • Content: Page + Index
    • URL: /news
    • Template: news/index
    • Entry channel: Page
    • Index channel: News Article
  • Entry: A single news article entry
    • Content: Dynamic Entry
    • URL: /news/read/{url_title}
    • Template: news/read
    • Entry channel: News Article
  • Category Archive: Display news in a category in reverse chronological order
    • Content: Index
    • URL: /news/archive/category/{cat_url_title}
    • Template: news/archive
    • Index channel: News Article
    • Embedded Templates:
      • news/.category-archive
  • Monthly Archive: Display news for a month in reverse chronological order
    • Content: Index
    • URL: /news/archive/{year}/{month}
    • Template: news/archive
    • Index channel: News Article
    • Embedded Templates:
      • news/.monthly-archive
  • RSS Feed: Latest 10 posts in RSS format
    • Content: Index
    • URL: /news/feed
    • Template: news/feed (RSS)
    • Index channel: News Article

Video Articles

  • Index: 10 recent videos in reverse chronological order
    • Content: Page + Index
    • URL: /videos
    • Template: videos/index
    • Entry channel: Page
    • Index channel: Videos
  • Entry: A single video
    • Content: Dynamic Entry
    • URL: /videos/watch/{url_title}
    • Template: video/watch
    • Entry channel: Video
  • Category Archive: Display videos in a category in reverse chronological order
    • Content: Index
    • URL: /videos/archive/category/{cat_url_title}
    • Template: video/archive
    • Index channel: Video
    • Embedded Templates:
      • video/.category-archive
  • Monthly Archive: Display videos for a month in reverse chronological order
    • Content: Index
    • URL: /videos/archive/{year}/{month}
    • Template: videos/archive
    • Index channel: Video
    • Embedded Templates:
      • videos/.monthly-archive

Entry: Page or dynamic

{preload_replace:this_entry_channel="news"}

{exp:channel:entries limit="1" require_entry="yes" channel="{this_page_channel}"}
    {if no_results}{redirect="404"}{/if}
    {embed="_partials/.header" entry_id="{entry_id}"}
    <h1>{title}</h1> {page_content}
    {embed="_partials/.footer"}
{/exp:channel:entries}

Section Index: Page + index

{preload_replace:this_page_channel="pages"}
{preload_replace:this_index_channel="news"}

{exp:channel:entries limit="1" require_entry="yes" channel="{this_page_channel}"}
    {if no_results}{redirect="404"}{/if}
    {embed="_partials/.header" entry_id="{entry_id}"}
    <h1>{title}</h1> {page_content}
{/exp:channel:entries}

{exp:channel:entries dynamic="off" channel="{this_index_channel}"}
    {if no_results}<p>No news entries.</p>{/if}
    <h2>{title}</h2> {news_content}    
{/exp:channel:entries}

{embed="_partials/.footer"}

Category Archive

{preload_replace:this_index_channel="news"}

{exp:channel:category_heading channel="{this_index_channel}"}
    {embed="_partials/.header"
        description="{category_description}"
        title="{category_name}"
        title_suffix="Category Archive | News"
    }
    <h1>{category_name}</h1>
    {if category_description}{category_description}{/if}
{/exp:channel:category_heading}

{exp:channel:entries channel="{this_index_channel}"}
    {if no_results}<p>No news entries.</p>{/if}
    <h2>{title}</h2>{news_content}
{/exp:channel:entries}
{embed="_partials/.footer"}