Elemek listázása amire NEM szavazott az akt. user

vorvor képe

Sziasztok!

Van egy tartalomtípusom: film. Ezekre a filmekre szavazhat a bejelentkezett felhasználó 1 csillagtól 5 csillagig a Fivestar modul segítségével.

Kérdésem a következő: hogyan lehet views-ban azokat a node-okat kilistázni, amelyikre az aktuális user NEM szavazott.

A cél az, hogy egy felhasználó minél több filmre szavazzon. Azzal akarom erre inspirálni, hogy adok neki egy listát, ahol "pótolhat".

A problémával kapcsolatban ezt találtam, ahol egy fickó felveti ugyanezt a problémát, majd kis idő múlva meg is válaszolja kb. így: "Rájöttem... annyi az egész, hogy jól kell beállítani az argumentumokat és a szűrőket." Szerintem vicces.

Nekem eddig nem sikerült.

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
aboros képe

elvileg ezt be tudod importálni szépen, semmi egyedi mező nem lesz benne, ami miatt reklamálnia kéne.

az a titok, hogy a relationshipbe fel kell venni a node: votes és korlátozni az aktuális userre, aztán pedig kell egy filter, ami ezt az előbbi relationshipet használja, votes: value, és is NULL.. tadaa.. ;)

$view = new view;
$view->name = 'voteless';
$view->description = 'Nodes which are not yet rated by the current user.';
$view->tag = '';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 2;
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->override_option('relationships', array(
  'votingapi_vote' => array(
    'label' => 'Votes',
    'required' => 0,
    'votingapi' => array(
      'value_type' => '',
      'tag' => 'vote',
    ),
    'current_user' => TRUE,
    'id' => 'votingapi_vote',
    'table' => 'node',
    'field' => 'votingapi_vote',
    'relationship' => 'none',
  ),
));
$handler->override_option('fields', array(
  'title' => array(
    'label' => '',
    'alter' => array(
      'alter_text' => 0,
      'text' => '',
      'make_link' => 0,
      'path' => '',
      'link_class' => '',
      'alt' => '',
      'prefix' => '',
      'suffix' => '',
      'target' => '',
      'help' => '',
      'trim' => 0,
      'max_length' => '',
      'word_boundary' => 1,
      'ellipsis' => 1,
      'strip_tags' => 0,
      'html' => 0,
    ),
    'empty' => '',
    'hide_empty' => 0,
    'empty_zero' => 0,
    'link_to_node' => 1,
    'exclude' => 0,
    'id' => 'title',
    'table' => 'node',
    'field' => 'title',
    'relationship' => 'none',
  ),
  'value' => array(
    'label' => '',
    'alter' => array(
      'alter_text' => 0,
      'text' => '',
      'make_link' => 0,
      'path' => '',
      'link_class' => '',
      'alt' => '',
      'prefix' => '',
      'suffix' => '',
      'target' => '',
      'help' => '',
      'trim' => 0,
      'max_length' => '',
      'word_boundary' => 1,
      'ellipsis' => 1,
      'strip_tags' => 0,
      'html' => 0,
    ),
    'empty' => '',
    'hide_empty' => 0,
    'empty_zero' => 0,
    'set_precision' => 0,
    'precision' => '0',
    'decimal' => '.',
    'separator' => ',',
    'prefix' => '',
    'suffix' => '',
    'appearance' => 'fivestar_views_value_display_handler',
    'exclude' => 0,
    'id' => 'value',
    'table' => 'votingapi_vote',
    'field' => 'value',
    'relationship' => 'votingapi_vote',
  ),
));
$handler->override_option('filters', array(
  'value' => array(
    'operator' => 'empty',
    'value' => array(
      'value' => '',
      'min' => '',
      'max' => '',
    ),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'value',
    'table' => 'votingapi_vote',
    'field' => 'value',
    'relationship' => 'votingapi_vote',
  ),
));
$handler->override_option('access', array(
  'type' => 'none',
));
$handler->override_option('cache', array(
  'type' => 'none',
));

több userrel nem próbáltam, de egy userre szépen működött a játszótéren, remekül visszadta azt az egy nodeot, amire egyátalán nem szavaztam. szerintem több userre is simán fog működni, azért kell korlátozni a relationshipet, hogy csak current user játszik.

0
0

-
clear: both;

vorvor képe

Szuper!
Kössz!

0
0