Hello,

I'm trying to get this working, but... unfortunately, no effect:

a view of gallery items on a single item's page, loaded from page.tpl.php.

All of them belong to the same gallery. These double relationships are making me crazy :/

Thanks - for a detailed steps, or exported view.

Szy.

Comments

szy’s picture

Guys, any help on this?

That's the simplest thing could be: just the other items from the same gallery.

What relationship I should use?

Szy.

szy’s picture

Ok, got it.

The key is argument for contextual filter. Put the code below into 'PHP Code' of Content ID argument:

if ( arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2) ) {
  $node = node_load(arg(1));
  $gallery = $node->node_gallery_ref_2['und'][0]['target_id'];
  return $gallery;
}

Szy.

szy’s picture

Status: Active » Closed (fixed)
zengenuity’s picture

Status: Closed (fixed) » Closed (works as designed)

The relationships are complex, but it's better to do it this way than using PHP in the arguments, I think. Try this view as an example:

$view = new view();
$view->name = 'other_gallery_items';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'Other Gallery Items';
$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['title'] = 'Other Gallery Items';
$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'] = 'some';
$handler->display->display_options['pager']['options']['items_per_page'] = '20';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['style_plugin'] = 'grid';
$handler->display->display_options['row_plugin'] = 'fields';
/* Relationship: Node Gallery Relationship: Node Gallery Relationship from Gallery Item */
$handler->display->display_options['relationships']['node_gallery_relationship']['id'] = 'node_gallery_relationship';
$handler->display->display_options['relationships']['node_gallery_relationship']['table'] = 'node';
$handler->display->display_options['relationships']['node_gallery_relationship']['field'] = 'node_gallery_relationship';
/* Relationship: Node Gallery Relationship: Gallery */
$handler->display->display_options['relationships']['ngid']['id'] = 'ngid';
$handler->display->display_options['relationships']['ngid']['table'] = 'node_gallery_relationship';
$handler->display->display_options['relationships']['ngid']['field'] = 'ngid';
$handler->display->display_options['relationships']['ngid']['relationship'] = 'node_gallery_relationship';
$handler->display->display_options['relationships']['ngid']['label'] = 'Gallery';
/* Relationship: Node Gallery Relationship: Node Gallery Relationship from Gallery */
$handler->display->display_options['relationships']['node_gallery_relationship_ngid']['id'] = 'node_gallery_relationship_ngid';
$handler->display->display_options['relationships']['node_gallery_relationship_ngid']['table'] = 'node';
$handler->display->display_options['relationships']['node_gallery_relationship_ngid']['field'] = 'node_gallery_relationship_ngid';
$handler->display->display_options['relationships']['node_gallery_relationship_ngid']['relationship'] = 'ngid';
$handler->display->display_options['relationships']['node_gallery_relationship_ngid']['required'] = TRUE;
/* Relationship: Node Gallery Relationship: Gallery Item */
$handler->display->display_options['relationships']['nid']['id'] = 'nid';
$handler->display->display_options['relationships']['nid']['table'] = 'node_gallery_relationship';
$handler->display->display_options['relationships']['nid']['field'] = 'nid';
$handler->display->display_options['relationships']['nid']['relationship'] = 'node_gallery_relationship_ngid';
$handler->display->display_options['relationships']['nid']['label'] = 'Gallery Items';
/* Field: Content: Gallery Media  */
$handler->display->display_options['fields']['node_gallery_media']['id'] = 'node_gallery_media';
$handler->display->display_options['fields']['node_gallery_media']['table'] = 'field_data_node_gallery_media';
$handler->display->display_options['fields']['node_gallery_media']['field'] = 'node_gallery_media';
$handler->display->display_options['fields']['node_gallery_media']['relationship'] = 'nid';
$handler->display->display_options['fields']['node_gallery_media']['label'] = '';
$handler->display->display_options['fields']['node_gallery_media']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['node_gallery_media']['click_sort_column'] = 'fid';
$handler->display->display_options['fields']['node_gallery_media']['type'] = 'file_rendered';
$handler->display->display_options['fields']['node_gallery_media']['settings'] = array(
  'file_view_mode' => 'node_gallery_file_thumbnail',
);
/* Sort criterion: Content: 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']['order'] = 'DESC';
/* 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';
/* Contextual filter: Content: Nid */
$handler->display->display_options['arguments']['nid_1']['id'] = 'nid_1';
$handler->display->display_options['arguments']['nid_1']['table'] = 'node';
$handler->display->display_options['arguments']['nid_1']['field'] = 'nid';
$handler->display->display_options['arguments']['nid_1']['relationship'] = 'nid';
$handler->display->display_options['arguments']['nid_1']['default_action'] = 'default';
$handler->display->display_options['arguments']['nid_1']['default_argument_type'] = 'node';
$handler->display->display_options['arguments']['nid_1']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['nid_1']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['nid_1']['summary_options']['items_per_page'] = '25';
$handler->display->display_options['arguments']['nid_1']['not'] = TRUE;
/* 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']['value'] = 1;
$handler->display->display_options['filters']['status']['group'] = 1;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;

/* Display: Block */
$handler = $view->new_display('block', 'Block', 'block');
hstreitzig’s picture

@ zengenuity - You made my day! Trying this for a few days with different relationships. But this complex configuration i´ll never find out. Thanks

sistro’s picture

Tnx zengenuity!

I'm trying your view and it works ... but I got some errors:

Notice: Undefined index: 208 in node_gallery_api_get_item_position() (line 825 of .../node_gallery/node_gallery_api.inc).
Notice: Undefined index: 208 in node_gallery_api_get_item_position() (line 825 of .../node_gallery/node_gallery_api.inc).
Notice: Undefined index: 208 in node_gallery_api_get_item_position() (line 825 of .../node_gallery/node_gallery_api.inc).
Notice: Undefined offset: 0 in node_gallery_api_get_first_item() (line 607 .../node_gallery/node_gallery_api.inc).
Notice: Undefined offset: -1 in node_gallery_api_get_last_item() (line 623 of .../node_gallery/node_gallery_api.inc).

Another problem I have is to create a view (in a block) that only show me the gallery item for a gallery... well, it seems to be easy, but I can not get it to work! can you help?