Vy för att visa olika användares skapade innehåll

Events happening in the community are now at Drupal community events on www.drupal.org.
dblade1975's picture

Hej,
Håller på att bygga en receptsite. Skulle vilja skapa ett block med en vy som listar olika användares recept. På användarens kontosida ska andra användare se denna användarens innehåll. Gärna en lista/block för blogginlägg och en annan för recept. Jag har skapat en contenttype för recept. Hur bygger jag denna vyn på bästa sätt?

Mvh David

Comments

Contextual filter

leanderl's picture

Hej David,
du kan skapa en ny view som skapar ett block som visar recept. För att visa endast recept för den användare vars profilsida man är på (t ex http://loc.testsajt.se/user/2) så väljer du att lägga till ett Contextual filter i 'Advanced'-delen av Views. Klicka på 'add' och skriv sedan uid i sökrutan så att urvalet av tillgängliga filter smalnar av. Kryssa sedan sedan "content:uid" . I nästa steg (WHEN THE FILTER VALUE IS NOT AVAILABLE) väljer du att markera "provide default value" och väljer sedan 'user id from URL' i selectlistan.

På det sättet har du en rudimentär vy som skapar ett block som visar innehåll från den användare vars profilsida man besöker. Sedan placerar du blocket på användarprofilsidorna med någon av de olika tekniker som finns, t ex genom att välja admin/structure/block och sedan konfigurera blocket "Show block on specific pages : only the listed pages" och i rutan för detta skriva "user/*" (utan citationstecken)

Jag bifogar en exporterad vy som gör det jag beskrev ovan för content type 'article'. Den kan du importera i views för att se hur det fungerar.

$view = new view();
$view->name = 'recept';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'recept';
$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'] = 'recept';
$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'] = '5';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'fields';
/
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']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
/
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: Author uid /
$handler->display->display_options['arguments']['uid']['id'] = 'uid';
$handler->display->display_options['arguments']['uid']['table'] = 'node';
$handler->display->display_options['arguments']['uid']['field'] = 'uid';
$handler->display->display_options['arguments']['uid']['default_action'] = 'default';
$handler->display->display_options['arguments']['uid']['default_argument_type'] = 'user';
$handler->display->display_options['arguments']['uid']['default_argument_options']['user'] = FALSE;
$handler->display->display_options['arguments']['uid']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['uid']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['uid']['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']['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']['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',
);

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

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: