I'd like to be able to display a "premium" icon next to the title (in Views, especially) of any node that is "premium." Any suggestions?

Comments

anrikun’s picture

Category: feature » support

You have to do some theming here. First, do you know how to theme view fields?
Read http://drupal.org/node/1178182#comment-4557552 about how to check the premium value of a row.

Katrina B’s picture

I used a field rewrite to show an icon for "Premium" content -- but items in the View that are not Premium are getting labeled as "Premium" and vice versa (even if I disable the field rewrite).

anrikun’s picture

Please post some code so that I can see what you did.
Also a screenshot of your view field editing form would help too.

Katrina B’s picture

Here's my View code:

$view = new view;
$view->name = 'quicktabs';
$view->description = 'Views for QuickTabs';
$view->tag = 'QuickTabs';
$view->base_table = 'node';
$view->human_name = 'QuickTabs';
$view->core = 6;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Defaults */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'some';
$handler->display->display_options['pager']['options']['items_per_page'] = '10';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'fields';
$handler->display->display_options['row_options']['inline'] = array(
  'title' => 'title',
  'premium' => 'premium',
);
$handler->display->display_options['row_options']['hide_empty'] = 0;
$handler->display->display_options['row_options']['default_field_elements'] = 1;
/* Relationship: Nodequeue */
$handler->display->display_options['relationships']['nodequeue_rel_queue_name']['id'] = 'nodequeue_rel_queue_name';
$handler->display->display_options['relationships']['nodequeue_rel_queue_name']['table'] = 'node';
$handler->display->display_options['relationships']['nodequeue_rel_queue_name']['field'] = 'nodequeue_rel_queue_name';
$handler->display->display_options['relationships']['nodequeue_rel_queue_name']['ui_name'] = 'Nodequeue';
$handler->display->display_options['relationships']['nodequeue_rel_queue_name']['required'] = 0;
$handler->display->display_options['relationships']['nodequeue_rel_queue_name']['limit'] = 1;
$handler->display->display_options['relationships']['nodequeue_rel_queue_name']['names'] = array(
  'Department' => 'Department',
);
/* Field: Headline */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['ui_name'] = 'Headline';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['title']['alter']['external'] = 0;
$handler->display->display_options['fields']['title']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['title']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['element_label_colon'] = 1;
$handler->display->display_options['fields']['title']['element_default_classes'] = 1;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['title']['link_to_node'] = 1;
/* Field: Premium? */
$handler->display->display_options['fields']['premium']['id'] = 'premium';
$handler->display->display_options['fields']['premium']['table'] = 'node';
$handler->display->display_options['fields']['premium']['field'] = 'premium';
$handler->display->display_options['fields']['premium']['ui_name'] = 'Premium?';
$handler->display->display_options['fields']['premium']['label'] = '';
$handler->display->display_options['fields']['premium']['alter']['alter_text'] = 1;
$handler->display->display_options['fields']['premium']['alter']['text'] = '<img src="/sites/all/themes/adaptivetheme/adaptivetheme_subtheme/css/theme/images/premium.png" />';
$handler->display->display_options['fields']['premium']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['premium']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['premium']['alter']['external'] = 0;
$handler->display->display_options['fields']['premium']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['premium']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['premium']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['premium']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['premium']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['premium']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['premium']['alter']['trim'] = 0;
$handler->display->display_options['fields']['premium']['alter']['html'] = 0;
$handler->display->display_options['fields']['premium']['element_label_colon'] = 1;
$handler->display->display_options['fields']['premium']['element_default_classes'] = 1;
$handler->display->display_options['fields']['premium']['hide_empty'] = 1;
$handler->display->display_options['fields']['premium']['empty_zero'] = 1;
$handler->display->display_options['fields']['premium']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['premium']['type'] = 'premium';
$handler->display->display_options['fields']['premium']['not'] = 0;
/* Sort criterion: Position in queue */
$handler->display->display_options['sorts']['position']['id'] = 'position';
$handler->display->display_options['sorts']['position']['table'] = 'nodequeue_nodes';
$handler->display->display_options['sorts']['position']['field'] = 'position';
$handler->display->display_options['sorts']['position']['relationship'] = 'nodequeue_rel_queue_name';
$handler->display->display_options['sorts']['position']['ui_name'] = 'Position in queue';
$handler->display->display_options['sorts']['position']['order'] = 'DESC';
/* Sort criterion: Content: Date (field_date) */
$handler->display->display_options['sorts']['field_date_value']['id'] = 'field_date_value';
$handler->display->display_options['sorts']['field_date_value']['table'] = 'node_data_field_date';
$handler->display->display_options['sorts']['field_date_value']['field'] = 'field_date_value';
$handler->display->display_options['sorts']['field_date_value']['order'] = 'DESC';
/* Sort criterion: Post date */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'node';
$handler->display->display_options['sorts']['created']['field'] = 'created';
$handler->display->display_options['sorts']['created']['ui_name'] = 'Post date';
$handler->display->display_options['sorts']['created']['order'] = 'DESC';
/* Filter: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['ui_name'] = 'Published';
$handler->display->display_options['filters']['status']['value'] = '1';
/* Filter: Node: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
  'article' => 'article',
  'blog' => 'blog',
);
/* Filter: In queue */
$handler->display->display_options['filters']['in_queue']['id'] = 'in_queue';
$handler->display->display_options['filters']['in_queue']['table'] = 'nodequeue_nodes';
$handler->display->display_options['filters']['in_queue']['field'] = 'in_queue';
$handler->display->display_options['filters']['in_queue']['relationship'] = 'nodequeue_rel_queue_name';
$handler->display->display_options['filters']['in_queue']['ui_name'] = 'In queue';
$handler->display->display_options['filters']['in_queue']['value'] = '1';

/* Display: Block: Wires */
$handler = $view->new_display('block', 'Block: Wires', 'wires');
$handler->display->display_options['display_description'] = 'Recent wire articles';
$handler->display->display_options['defaults']['filters'] = FALSE;
/* Filter: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['ui_name'] = 'Published';
$handler->display->display_options['filters']['status']['value'] = '1';
/* Filter: Node: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
  'article' => 'article',
  'blog' => 'blog',
);
/* Filter: Subqueue */
$handler->display->display_options['filters']['title']['id'] = 'title';
$handler->display->display_options['filters']['title']['table'] = 'nodequeue_subqueue';
$handler->display->display_options['filters']['title']['field'] = 'title';
$handler->display->display_options['filters']['title']['relationship'] = 'nodequeue_rel_queue_name';
$handler->display->display_options['filters']['title']['ui_name'] = 'Subqueue';
$handler->display->display_options['filters']['title']['value'] = 'Wire';
$handler->display->display_options['filters']['title']['case'] = 0;

/* Display: Block: Articles */
$handler = $view->new_display('block', 'Block: Articles', 'articles');
$handler->display->display_options['display_description'] = 'Recent articles';
$handler->display->display_options['defaults']['filters'] = FALSE;
/* Filter: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['ui_name'] = 'Published';
$handler->display->display_options['filters']['status']['value'] = '1';
/* Filter: Node: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
  'article' => 'article',
  'blog' => 'blog',
);
/* Filter: Subqueue */
$handler->display->display_options['filters']['title']['id'] = 'title';
$handler->display->display_options['filters']['title']['table'] = 'nodequeue_subqueue';
$handler->display->display_options['filters']['title']['field'] = 'title';
$handler->display->display_options['filters']['title']['relationship'] = 'nodequeue_rel_queue_name';
$handler->display->display_options['filters']['title']['ui_name'] = 'Subqueue';
$handler->display->display_options['filters']['title']['value'] = 'Articles';
$handler->display->display_options['filters']['title']['case'] = 0;

/* Display: Block: Blogs */
$handler = $view->new_display('block', 'Block: Blogs', 'blogs');
$handler->display->display_options['display_description'] = 'Recent blog entries';
$handler->display->display_options['defaults']['filters'] = FALSE;
/* Filter: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['ui_name'] = 'Published';
$handler->display->display_options['filters']['status']['value'] = '1';
/* Filter: Node: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
  'blog' => 'blog',
);
/* Filter: Subqueue */
$handler->display->display_options['filters']['title']['id'] = 'title';
$handler->display->display_options['filters']['title']['table'] = 'nodequeue_subqueue';
$handler->display->display_options['filters']['title']['field'] = 'title';
$handler->display->display_options['filters']['title']['relationship'] = 'nodequeue_rel_queue_name';
$handler->display->display_options['filters']['title']['ui_name'] = 'Subqueue';
$handler->display->display_options['filters']['title']['value'] = 'Blogs';
$handler->display->display_options['filters']['title']['case'] = 0;
Katrina B’s picture

Which part of the View field editing form would you like a screenshot of? The entire form is way too long for me to capture in one screenshot.

anrikun’s picture

What you've just provided should be enough, thanks. Just give me some time to check your view.

anrikun’s picture

I confirm there is a bug here, the same as #1198466: node->sticky field has incorrect 'output formats' because of a bug in Views documentation.
As this is a bug, I'm reopening the related bug issue you had posted and I had closed.
See #1414204: Views field: "Output format" values are reversed

criscom’s picture

Hi,
thanks for this great module. It is a lifesaver for me. One question: How can you get a PC icon to display for the title of a node? This could be accomplished if a class were added to the <h2> tag of a node when the premium content is checked in the publishing options. Any suggestions how this could be accomplished? I am using version 7.x.1.1.

Chris