GHOST CMS - Channels
Channels
If you want something more flexible than taxonomies, but less rigid than collections, then channels might be for you.
A channel is a custom stream of paginated content matching a specific filter. This allows you to create subsets and supersets of content by combining or dividing existing posts into content hubs.
Unlike collections, channels have no influence over a post's URL or location within the site, so posts can belong to any number of channels.
The best way to think of channels is as a set of permanent search results. It's a filtered slice of content from across your site, without modifying the content itself.
Creating a channel
Channels are defined as a custom route, with a custom controller property called channel, and a filter to determine which posts to return.
routes:
/apple-news/:
controller: channel
filter: tag:[iphone,ipad,mac]
/editors-column/:
controller: channel
filter: tag:column+primary_author:cameron
In this example there are two channels. The first is a channel which will return any posts tagged iPhone, iPad or Mac on a custom route of site.com/apple-news/.
The second is a special Editor's Column area, which will return any posts tagged with Column, but only if they're explicitly authored by Cameron.
These are two small examples of how you can use channels to include and exclude groups of posts from appearing together on a custom paginated route, with full automatic RSS feeds included as standard. Just add /rss/ to any channel URL to get the feed.
When to use channels vs collections
Collections and channels share a lot of similarities, because they're both methods of filtering a set of posts and returning them on a custom URL.
So how do you know when to use which?
You should generally use a collection when...
There's a need to define permanent site structure and information architecture
- You're sorting different types/formats of content
eg. posts are blog posts OR podcasts - You're filtering incompatible content
eg. posts are either in English OR German - You want the parent filter to influence the post's URL
eg. an index page called/news/and posts like/news/my-story/
You might be better off with a channel if...
All you need is a computed view of a subsection of existing content
- You're combining/grouping different pieces of content
eg. posts tagged withnewsANDfeatured - You're dividing existing streams of content with multiple properties
eg. posts tagged withnewsbut NOT authored bysteve - You want to be able to update/change properties without affecting post URLs
eg. quickly creating/destroying new sections of a site without any risk
If you're still not sure which is the best fit for you, drop by the Ghost Forums and share what structure you're hoping to accomplish. There's a large community of Ghost developers around to help.

浙公网安备 33010602011771号