How to add a left nav to SmartDocs Method page to list all operations of the current model

If you wish to have a left navigation similar to the screenshot below, please read this article.

7822-screen-shot-2018-12-13-at-40803-pm.png

You will need to import the view below into your existing site


$view = new view();
$view->name = 'related_smartdocs_methods_for_nav';
$view->description = 'This is the base view for listing methods in a given model.';
$view->tag = 'smartdocs';
$view->base_table = 'node';
$view->human_name = 'List of Methods related to the currently displayed Smartdocs Node';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */


/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['access']['type'] = 'perm';
$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'] = 'none';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['style_options']['grouping'] = array(
  0 => array(
    'field' => 'tags',
    'rendered' => 1,
    'rendered_strip' => 0,
  ),
);
$handler->display->display_options['row_plugin'] = 'fields';
/* Header: Global: Text area */
$handler->display->display_options['header']['area']['id'] = 'area';
$handler->display->display_options['header']['area']['table'] = 'views';
$handler->display->display_options['header']['area']['field'] = 'area';
$handler->display->display_options['header']['area']['content'] = '<h2>[field_model_display_name]</h2>';
$handler->display->display_options['header']['area']['format'] = 'full_html';
$handler->display->display_options['header']['area']['tokenize'] = TRUE;
/* Relationship: Content: Taxonomy terms on node */
$handler->display->display_options['relationships']['term_node_tid']['id'] = 'term_node_tid';
$handler->display->display_options['relationships']['term_node_tid']['table'] = 'node';
$handler->display->display_options['relationships']['term_node_tid']['field'] = 'term_node_tid';
$handler->display->display_options['relationships']['term_node_tid']['label'] = 'smartdocs_model';
$handler->display->display_options['relationships']['term_node_tid']['required'] = TRUE;
$handler->display->display_options['relationships']['term_node_tid']['vocabularies'] = array(
  'smartdocs_models' => 'smartdocs_models',
  'forums' => 0,
  'blog' => 0,
  'content_type_tag' => 0,
  'smartdocs_tags' => 0,
  'smartdocs_verbs' => 0,
  'tags' => 0,
);
/* Relationship: Taxonomy term: Content with term */
$handler->display->display_options['relationships']['nid']['id'] = 'nid';
$handler->display->display_options['relationships']['nid']['table'] = 'taxonomy_index';
$handler->display->display_options['relationships']['nid']['field'] = 'nid';
$handler->display->display_options['relationships']['nid']['relationship'] = 'term_node_tid';
$handler->display->display_options['relationships']['nid']['label'] = 'RelatedNodes';
$handler->display->display_options['relationships']['nid']['required'] = TRUE;
/* Relationship: Content: Taxonomy terms on node */
$handler->display->display_options['relationships']['term_node_tid_1']['id'] = 'term_node_tid_1';
$handler->display->display_options['relationships']['term_node_tid_1']['table'] = 'node';
$handler->display->display_options['relationships']['term_node_tid_1']['field'] = 'term_node_tid';
$handler->display->display_options['relationships']['term_node_tid_1']['label'] = 'Tags';
$handler->display->display_options['relationships']['term_node_tid_1']['vocabularies'] = array(
  'smartdocs_tags' => 'smartdocs_tags',
  'forums' => 0,
  'blog' => 0,
  'content_type_tag' => 0,
  'smartdocs_models' => 0,
  'smartdocs_verbs' => 0,
  'tags' => 0,
);
/* Field: Content: Title */
$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']['relationship'] = 'nid';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['exclude'] = TRUE;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
$handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
/* Field: Content: Security schemes */
$handler->display->display_options['fields']['security']['id'] = 'security';
$handler->display->display_options['fields']['security']['table'] = 'field_data_field_smart_method_security';
$handler->display->display_options['fields']['security']['field'] = 'field_smart_method_security';
$handler->display->display_options['fields']['security']['relationship'] = 'nid';
$handler->display->display_options['fields']['security']['label'] = '';
$handler->display->display_options['fields']['security']['exclude'] = TRUE;
$handler->display->display_options['fields']['security']['alter']['alter_text'] = TRUE;
$handler->display->display_options['fields']['security']['alter']['text'] = '<span title="This method needs authentication." class="icon_lock"></span>';
$handler->display->display_options['fields']['security']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['security']['delta_limit'] = '1';
$handler->display->display_options['fields']['security']['delta_offset'] = '0';
/* Field: Content: Resource base URL */
$handler->display->display_options['fields']['base_url']['id'] = 'base_url';
$handler->display->display_options['fields']['base_url']['table'] = 'field_data_field_smart_method_base_url';
$handler->display->display_options['fields']['base_url']['field'] = 'field_smart_method_base_url';
$handler->display->display_options['fields']['base_url']['relationship'] = 'nid';
$handler->display->display_options['fields']['base_url']['label'] = '';
$handler->display->display_options['fields']['base_url']['exclude'] = TRUE;
$handler->display->display_options['fields']['base_url']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['base_url']['type'] = 'text_plain';
/* Field: Content: Resource path */
$handler->display->display_options['fields']['resource_path']['id'] = 'resource_path';
$handler->display->display_options['fields']['resource_path']['table'] = 'field_data_field_smart_method_resource_path';
$handler->display->display_options['fields']['resource_path']['field'] = 'field_smart_method_resource_path';
$handler->display->display_options['fields']['resource_path']['relationship'] = 'nid';
$handler->display->display_options['fields']['resource_path']['label'] = '';
$handler->display->display_options['fields']['resource_path']['exclude'] = TRUE;
$handler->display->display_options['fields']['resource_path']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['resource_path']['type'] = 'text_plain';
/* Field: Content: Tags */
$handler->display->display_options['fields']['tags']['id'] = 'tags';
$handler->display->display_options['fields']['tags']['table'] = 'field_data_field_smart_method_tags';
$handler->display->display_options['fields']['tags']['field'] = 'field_smart_method_tags';
$handler->display->display_options['fields']['tags']['relationship'] = 'nid';
$handler->display->display_options['fields']['tags']['label'] = '';
$handler->display->display_options['fields']['tags']['exclude'] = TRUE;
$handler->display->display_options['fields']['tags']['alter']['alter_text'] = TRUE;
$handler->display->display_options['fields']['tags']['alter']['text'] = '<h3 class="method-tag-header">[tags]</h3>
<div class="clearfix method_details">
  <div class="method_data title-header">Method</div>
</div>';
$handler->display->display_options['fields']['tags']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['tags']['type'] = 'taxonomy_term_reference_plain';
$handler->display->display_options['fields']['tags']['delta_offset'] = '0';
/* Field: Content: HTTP verb */
$handler->display->display_options['fields']['verb']['id'] = 'verb';
$handler->display->display_options['fields']['verb']['table'] = 'field_data_field_smart_method_verb';
$handler->display->display_options['fields']['verb']['field'] = 'field_smart_method_verb';
$handler->display->display_options['fields']['verb']['relationship'] = 'nid';
$handler->display->display_options['fields']['verb']['label'] = '';
$handler->display->display_options['fields']['verb']['exclude'] = TRUE;
$handler->display->display_options['fields']['verb']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['verb']['type'] = 'taxonomy_term_reference_plain';
/* Field: Global: Custom text */
$handler->display->display_options['fields']['display']['id'] = 'display';
$handler->display->display_options['fields']['display']['table'] = 'views';
$handler->display->display_options['fields']['display']['field'] = 'nothing';
$handler->display->display_options['fields']['display']['label'] = '';
$handler->display->display_options['fields']['display']['alter']['text'] = '<div class="method_details clearfix">
  <div class="method_data title">
    <div class="verb-auth"><p data-role="verb" class="[verb]">[verb]</p>[security]</div>
    <div class="title-description">[title]<p title="[base_url][resource_path]" class="resource_path" data-role="resource_path"><!--[base_url]-->[resource_path]</p></div>
  </div>
</div>';
$handler->display->display_options['fields']['display']['element_label_colon'] = FALSE;
/* Field: Taxonomy term: Display name */
$handler->display->display_options['fields']['field_model_display_name']['id'] = 'field_model_display_name';
$handler->display->display_options['fields']['field_model_display_name']['table'] = 'field_data_field_model_display_name';
$handler->display->display_options['fields']['field_model_display_name']['field'] = 'field_model_display_name';
$handler->display->display_options['fields']['field_model_display_name']['relationship'] = 'term_node_tid';
$handler->display->display_options['fields']['field_model_display_name']['label'] = '';
$handler->display->display_options['fields']['field_model_display_name']['exclude'] = TRUE;
$handler->display->display_options['fields']['field_model_display_name']['element_label_colon'] = FALSE;
/* Sort criterion: Taxonomy term: Name */
$handler->display->display_options['sorts']['name']['id'] = 'name';
$handler->display->display_options['sorts']['name']['table'] = 'taxonomy_term_data';
$handler->display->display_options['sorts']['name']['field'] = 'name';
$handler->display->display_options['sorts']['name']['relationship'] = 'term_node_tid_1';
/* Sort criterion: Content: Title */
$handler->display->display_options['sorts']['title']['id'] = 'title';
$handler->display->display_options['sorts']['title']['table'] = 'node';
$handler->display->display_options['sorts']['title']['field'] = 'title';
$handler->display->display_options['sorts']['title']['relationship'] = 'nid';
/* Contextual filter: Content: Nid */
$handler->display->display_options['arguments']['nid']['id'] = 'nid';
$handler->display->display_options['arguments']['nid']['table'] = 'node';
$handler->display->display_options['arguments']['nid']['field'] = 'nid';
$handler->display->display_options['arguments']['nid']['default_action'] = 'default';
$handler->display->display_options['arguments']['nid']['default_argument_type'] = 'node';
$handler->display->display_options['arguments']['nid']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['nid']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['nid']['summary_options']['items_per_page'] = '25';
/* Filter criterion: Content: 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']['relationship'] = 'nid';
$handler->display->display_options['filters']['status']['value'] = '1';
$handler->display->display_options['filters']['status']['group'] = 1;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Filter criterion: Content: Type */
$handler->display->display_options['filters']['type_1']['id'] = 'type_1';
$handler->display->display_options['filters']['type_1']['table'] = 'node';
$handler->display->display_options['filters']['type_1']['field'] = 'type';
$handler->display->display_options['filters']['type_1']['relationship'] = 'nid';
$handler->display->display_options['filters']['type_1']['value'] = array(
  'smart_method' => 'smart_method',
);
/* Filter criterion: Content: 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(
  'smart_method' => 'smart_method',
);


/* Display: Model index page */
$handler = $view->new_display('block', 'Model index page', 'modelindex');
$handler->display->display_options['display_description'] = 'This block provides the content navigation for Smartdocs Method page';



Once you have this View imported you can place it in the Primary region of your theme and make sure it is only displayed on "SmartDocs Method" content type.

Comments
abdulz_khan
Bronze 4
Bronze 4

Hi @gkoli123 ,

This tutorial is very helpful for me,I want to make api first page as left menu and resources method in right side,can you explain as above helpful tutorial.

abdulz_khan
Bronze 4
Bronze 4

Hi @gkoli123 ,

I have imported this view and check the content type in Filter Criteria which is smartDocs method but could not get any success.

gluskin-samuel
New Member

@AbdulRehman,

Importing the view isn't enough. Go to blocks administration (/admin/structure/block) and look for the following block, in the "Disabled" section at the bottom: "View: List of Methods related to the currently displayed Smartdocs Node: Model index page". You have to put that block in one of the regions on your page. Don't forget to "Save blocks" at the bottom of the block admin page after you have assigned that block to a region.

Please report back to let us know if this solved your issue.

abdulz_khan
Bronze 4
Bronze 4

Hi @Shai Gluskin,

After importing the view, I added this view block in 'frontPage Panel Left' region and also added 'Main page content' in content region which is required,but its showing blank output.

gluskin-samuel
New Member

"frontPage" doesn't sound right. This view block is meant to show up on a method page. The advantage is that when you are on the method page, the block will show you all the other methods that are part of the same model.

taufiqsalim
New Member

Hey, I used this view but the text keeps spilling out of the box and may look unprofessional. Any idea how to fix it so that the text keeps being wrapped inside?

Version history
Last update:
‎12-13-2018 01:25 PM
Updated by: