Application Development Help

Permalink
I am brand new to C5 and I think it is great! I am trying to put together a site for a record label. There is an artist page which has a listing of all the artists, then there are the individual artist pages which have pictures, bio's, sample tracks to play, etc. Finally, there is a featured artist displayed on the home page. My question is what is the best way to put this all together so that it is brainless for the producer who will be putting in and maintaining the artists?

I have read about the blocks, controllers, single-pages etc. and the whole MVC thing is new ground to me.

I have modified the example faq's to be artists and have a page list to display all the artists, but what is the best approach to say define the featured artist and place said artist's info on the home page?

I really need some clarification on when to use a block or how to make multiple things such as block/single-page/pages/db etc work together.

ANY guidance would be greatly appreciated.

 
johndorsay replied on at Permalink Reply
johndorsay
Your best bet is to create a new block within this example package.
packages/blocks/templates

1. Duplicate the the folder within and rename to something like featured_artist.
2. Within this folder there will be a view.php file. Copy the page list template code within concrete/blocks/page_list and paste it into the view.php file.
3. Now create a new checkbox attribute is_featured.
4. On the home page you can add a page list block and check the featured checkbox.
5. Assign the block a custom template of Featured Artist

This should showcase the artists that are marked as featured. Obviously you will need to alter to view.php to suit your design needs.
alcdev replied on at Permalink Reply
I hate to sound ignorant, but I do not have a packages/blocks/templates folder. Where am I creating the feature_artist folder and what exactly am I to duplicate there?
jordanlev replied on at Permalink Best Answer Reply
jordanlev
In general, you want to try to stick to a "1 artist = 1 page" setup. Each artist gets a page with all of their info, then everything else you're talking about (artist listing, featured artist, etc.) pulls from that page -- so if you add a new artist, you just add the 1 new page and then everything else updates automatically because it's pulling from that.

With me so far?

Now, it looks like you figured out how to get the "artist listing" by using a page list. What you want to do for the "featured artist" is mark the artist's PAGE as "featured", then have a page list on the home page that pulls up 1 and only 1 page -- the artist that is marked as "featured". (So you're not going to change the featured artist on the home page, rather you're going to change the ARTIST so they're either featured or not, and the thing on the home page will automatically update to reflect that). Does that make sense conceptually?

The way you implement such a system is by using an attribute called "is_featured". This is going to be a checkbox you can check on an artist's page that will denote it as the featured artist. To create this, go to your dashboard, click "Pages and Themes" in the left sidebar, then click the "Attributes" tab. At the bottom of the page where it says "Add Page Attribute", choose "checkbox" from the dropdown menu and click "Go". For the handle, put "is_featured" (no quotes), and for the name enter "Featured Artist". Check both boxes in the "Searchable" section, then click the "Add Attribute" button.

Now on the home page, add a new page list block, and you should be able to check the option that says "Featured Pages Only". What this means is that the page list will ONLY show pages for Featured Artists.

Finally, you will need to denote which artist is featured by going to their page, clicking "Edit Page", then clicking the "Properties" button in the toolbar. Then in the third tab, choose "Featured Artist" from the dropdown list, then check the box, and save the page.

If you want to change the featured artist, you don't do it from the home page -- rather, you uncheck "Featured Artist" on the page of the current one, then go to the page of the new one and check "Featured Artist" for them.

Hope that makes more sense!

-Jordan
andrew replied on at Permalink Reply
andrew
Exactly what I was going to suggest. The is_featured custom attribute can be applied to any of your artist pages, and then the page list block on the home page can be configured to only show pages that are featured.
glowmedia replied on at Permalink Reply
Hi,

this sounds like something i require but can it be modified to be used with products in the ecommerce add-on, I would like to show a thumbnail, title and intro text for featured products on the home page?

Many Thanks

Steve
jordanlev replied on at Permalink Reply
jordanlev
Yes this is possible. You need to create a product attribute (Dashboard -> eCommerce -> Settings). Make a "checkbox" type attribute.
Then go edit the product in question and you should see a checkbox for the new attribute you added. Check that box.
Then on the page where you want to list the featured product(s), add a product list block and for the "custom query", search on that attribute.

If you need more step-by-step instructions, I would ask on the ecommerce support forum in the marketplace (it's a paid addon so they will provide timely support).

-Jordan