Channels in BeMusic are the primary way to display content. Most of the built-in pages are channels, including homepage, popular artist, track and album pages, as well as all specific genre pages.
You are free to modify these built-in channels to change what content they show or how it's displayed, as well as create your own custom channels from admin -> channels page.
Channels can also be nested. For example, you can create a new parent Discover channel, then create Popular albums, New releases and Genres channels and set Discover channel to show these three channels. Now when Discover channel page is visited, it will show title and content for all three channels.
When channel is created it will be automatically viewable using the configured slug (by default slugified version of channel title). So channel named Popular albums would be accessible via example.com/popular-albums url. You can also assign channels to various menus across the site via Menu manager and set channel as homepage from admin > settings > general page.
This option allows listing all content that exists in the database (whether created manually from admin area or imported automatically from Spotify). For example, setting Content to List all content of specified type and Type of content to Artist would show all artists that exist in admin -> artists page.
When more content is added in the future (artists in the case of the example above), List all content of specified type option will show this content automatically, you don't need to add the new content to this channel manually.
This option allows you to explicitly specify the exact content you want to show and manually reorder it. For example, you can create a Staff picks channel and add specific tracks you want to showcase.
You can use Search for content to add... field to search for content by name, clicking on the result will add that item to the channel.
If you select Curated in How to order content field, you can reorder the content by dragging the content table rows using the handle on the left side of the table row.
When this option is selected, channel will automatically update its content based on Auto update method and other selected options every 24 hours.
This can import content from Spotify or local database. For example, if Auto update method is set to New releases, and Fetch content from is set to Spotify, the channel will automatically import 20 latest albums from Spotify, store these albums in local database and add them to this channel.
And if Auto update method is set to New releases and Fetch content from is set to Local database, it will fetch 20 most recent albums from the local database (admin -> albums) page and add these to the channel.
Channel content will only auto update every 24 hours. You can force an update manually by clicking the update content now button on channel page.
For channels to be updated automatically, you will need to set up a CRON JOB.
Top tracks - Imports most popular songs. Either by spotify popularity or by local plays, based on Fetch content from field.
New albums - Imports new albums, based on release date.
Playlist tracks - Imports tracks from specified playlist. Works with either Spotify or local playlist ID.
Top genres - Imports most popular genres from last.fm or local database.
When you've selected what content channel should display, this option can be used to filter that content further and only show the content that matches the specified value.
For example, if you set List all content of specified type in Content field, Genre in Filter content by field and select Rock in Genre name field, channel will show artists, albums or tracks (based on Type of content field) that have the specified genre.
Filters can only be applied when Content is set to List all content of specified type.
Instead of selecting specific value for a filter (Rock genre from the example above), you can select Dynamic. This way filter value will be taken from the url. For example, if you name the channel "genre", set List all content of specified type in Content field, Genre in Filter content by field and select Dynamic (from url) in Genre name field, when visiting example.com/genre/rock url channel will show rock songs, when visiting example.com/genre/electronic url, it will show electronic songs and so on for all genres. This way you only need to create one channel, instead of creating a separate channel for all possible genres.
Layout options allow specifying how channel contents will appear on the site. For example you can set Popular songs channel to either show songs in a grid or list format.
Layout - This is how channel content should be shown when that channel page is viewed on the site (eg. example.com/popular-songs)
Layout when nested - This is how channel content will be shown when this channel is shown as a sub-channel. For example, when Popular songs channel is shown inside homepage channel.
Channels shows 25 items per page by default. This controls how user can see more content from the channel, if all content can't be shown in a single page.
Infinite scroll - more content will be loaded automatically as user scrolls down the page.
List of page buttons - This is a classic pagination option that will show a list of all available page numbers.
Next/previous buttons only - This will only show next and previous page buttons, instead of showing a list of all pages.
In SEO section you can specify meta title and description for each channel individually. These will be visible to crawlers and bots only. By default these will default to channel title and description.
Here you can specify channel title and description, both will be shown to users on the site.
Title and description supports placeholders for when a filter is set. For an example genre channel discussed here, you can specify a placeholder for genre name by using {{channel.restriction.display_name}} so when user views a channel with title {{channel.restriction.display_name}} songs at example.com/genre/rock url, title would show as Rock songs and at example.com/genre/electronic url as Electronic songs.