Views és a user reference

Basesoft képe

Ajánlat kérés - ajánlat adás folyamatát akarom megvalósítani drupal rendszerben.
Ajánlat adás tartalomban létrehoztam egy user reference és egy node reference fieldet ami alapján kapcsolódik az ajánlatkérés tartalomhoz.Ezt panelek segítségével teszem követhetővé a profilban és ezeknek létrehoztam a Panel nézetteit. A gondom természetesen azzal van mikor az aktuális felhasználó felé akarom listázni a neki szóló ajánlatokat , vagyis ahol ő a user reference. A views előnézetben működik. A panel előnézetbe is működik. Ha én nézem a adott felhasználó profilját akkor is megfelelő az eredmény. Ha viszont ő nézi a saját profilját a számára adott ajánlatok , vagyis ahol user reference-ként szerepel duplikálódnak.
Tehát a hibás nézet akkor van amikor ő nézi a saját profilját.
Segítsetek megoldani ezt a problémát.

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

Igy első olvasásra distinct lesz a barátod.

Ha 6-os drupalt használsz, a viewnál a basic settingsben találod.

"Distinct: This will make the view display only distinct items. If there are multiple identical items, each will be displayed only once. You can use this to try and remove duplicates from a view, though it does not always work. Note that this can slow queries down, so use it with caution."

0
0
Basesoft képe

Rosszul címkéztem ..Drupal 6-ot használok.
Nem itt van a probléma. A Views nem ad vissza duplikált sort.
Kicsit még részletesebben mit és hogyan csinálok.
Tehát Advanced profile kit, Panel és Views amivel felülírom az alap profilt.
A profil panelekben pedig a Views tartalma.
Létrehoztam egy tesztuser -t akinek a profilja http://local.dev/user/3
Létrehozok neki egy ajánlat tartalmat user reference field a kapcsolat.
Kész a views és ha előnezetet nézek tehát az Arguments a userra a 3, akkor 1 ajánlat - 1 sor szerepel. Ha én adminként bejelentkezve meglátogatom a http://local.dev/user/3 címet akkor szintén 1 ajánlat - 1 sor szerepel a views panelben. Ha bejelentkezek a tesztuser-rel és meglátogatom szintén a http://local.dev/user/3 cimet vagyis a profilt akkor viszont már 1 ajánlat - 2 sor szerepel.
Remélem tudtok segíteni.

0
0
aboros képe

exportáljad ki azt és másold be ide code tegek közé. több olyan szűrő is van, ami duplázást eredményezhet, jó lenne látni a pontos nézet.

0
0

-
clear: both;

Basesoft képe

A nézet kódja :

$view = new view;
$view->name = 'apk_user_posts_ajanlat';
$view->description = 'Shows topics by or commented on by a given user.';
$view->tag = 'APK';
$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(
  'field_userref_uid' => array(
    'label' => 'Felhasználónak címezve',
    'required' => 1,
    'delta' => -1,
    'id' => 'field_userref_uid',
    'table' => 'node_data_field_userref',
    'field' => 'field_userref_uid',
    'override' => array(
      'button' => 'Override',
    ),
    'relationship' => 'none',
  ),
  'field_noderef_nid' => array(
    'label' => 'Igénylés címe',
    'required' => 1,
    'delta' => -1,
    'id' => 'field_noderef_nid',
    'table' => 'node_data_field_noderef',
    'field' => 'field_noderef_nid',
    'relationship' => 'none',
  ),
));
$handler->override_option('fields', array(
  'title' => array(
    'id' => 'title',
    'table' => 'node',
    'field' => 'title',
    'label' => 'Title',
    'link_to_node' => TRUE,
  ),
  'comment_count' => array(
    'id' => 'comment_count',
    'table' => 'node_comment_statistics',
    'field' => 'comment_count',
    'label' => 'Replies',
    'set_precision' => FALSE,
    'precision' => 0,
    'decimal' => '.',
    'separator' => ',',
    'prefix' => '',
    'suffix' => '',
  ),
  'last_comment_timestamp' => array(
    'label' => 'Utolsó üzenet',
    'alter' => array(
      'alter_text' => 0,
      'text' => '',
      'make_link' => 0,
      'path' => '',
      'link_class' => '',
      'alt' => '',
      'prefix' => '',
      'suffix' => '',
      'help' => '',
      'trim' => 0,
      'max_length' => '',
      'word_boundary' => 1,
      'ellipsis' => 1,
      'strip_tags' => 0,
      'html' => 0,
    ),
    'date_format' => 'small',
    'custom_date_format' => '',
    'exclude' => 0,
    'id' => 'last_comment_timestamp',
    'table' => 'node_comment_statistics',
    'field' => 'last_comment_timestamp',
    'relationship' => 'none',
  ),
  'timestamp' => array(
    'id' => 'timestamp',
    'table' => 'history_user',
    'field' => 'timestamp',
    'label' => '',
    'comments' => 1,
    'relationship' => 'none',
    'link_to_node' => 0,
    'comment' => 1,
  ),
  'new_comments' => array(
    'id' => 'new_comments',
    'table' => 'node',
    'field' => 'new_comments',
    'label' => '',
    'set_precision' => FALSE,
    'precision' => 0,
    'decimal' => '.',
    'separator' => ',',
    'prefix' => '',
    'suffix' => ' new',
    'link_to_comment' => 1,
    'no_empty' => 1,
    'relationship' => 'none',
  ),
));
$handler->override_option('sorts', array(
  'last_comment_timestamp' => array(
    'id' => 'last_comment_timestamp',
    'table' => 'node_comment_statistics',
    'field' => 'last_comment_timestamp',
    'order' => 'ASC',
    'granularity' => 'second',
  ),
));
$handler->override_option('arguments', array(
  'uid' => array(
    'default_action' => 'ignore',
    'style_plugin' => 'default_summary',
    'style_options' => array(),
    'wildcard' => 'all',
    'wildcard_substitution' => 'Minden',
    'title' => '%user',
    'breadcrumb' => '',
    'default_argument_type' => 'fixed',
    'default_argument' => '',
    'validate_type' => 'none',
    'validate_fail' => 'not found',
    'break_phrase' => 0,
    'not' => 0,
    'id' => 'uid',
    'table' => 'users',
    'field' => 'uid',
    'validate_user_argument_type' => 'uid',
    'validate_user_roles' => array(
      '2' => 0,
    ),
    'override' => array(
      'button' => 'Override',
    ),
    'relationship' => 'field_userref_uid',
    'default_options_div_prefix' => '',
    'default_argument_user' => 0,
    'default_argument_fixed' => '',
    'default_argument_php' => '',
    'validate_argument_node_type' => array(
      'panel' => 0,
      'ajanlat' => 0,
      'igenyles' => 0,
      'page' => 0,
      'story' => 0,
      'szemelyesadatok' => 0,
    ),
    'validate_argument_node_access' => 0,
    'validate_argument_nid_type' => 'nid',
    'validate_argument_vocabulary' => array(),
    'validate_argument_type' => 'tid',
    'validate_argument_transform' => 0,
    'validate_user_restrict_roles' => 0,
    'validate_argument_php' => '',
  ),
));
$handler->override_option('filters', array(
  'status' => array(
    'id' => 'status',
    'table' => 'node',
    'field' => 'status',
    'operator' => '=',
    'value' => '1',
    'group' => 0,
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'status' => array(
      'id' => 'status',
      'table' => 'comments',
      'field' => 'status',
      'operator' => '=',
      'value' => 0,
      'group' => 0,
      'exposed' => FALSE,
      'expose' => array(
        'operator' => FALSE,
        'label' => '',
      ),
      'relationship' => 'none',
    ),
  ),
  'type' => array(
    'operator' => 'in',
    'value' => array(
      'ajanlat' => 'ajanlat',
    ),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'type',
    'table' => 'node',
    'field' => 'type',
    'relationship' => 'none',
  ),
));
$handler->override_option('access', array(
  'type' => 'none',
  'role' => array(),
  'perm' => '',
));
$handler->override_option('cache', array(
  'type' => 'none',
));
$handler->override_option('title', 'Hitel ajánlatok');
$handler->override_option('empty', 'Nincs tartalom.');
$handler->override_option('empty_format', '1');
$handler->override_option('use_ajax', TRUE);
$handler->override_option('items_per_page', '25');
$handler->override_option('use_pager', '1');
$handler->override_option('style_plugin', 'table');
$handler->override_option('style_options', array(
  'override' => 1,
  'order' => 'desc',
  'columns' => array(
    'type' => 'type',
    'title' => 'title',
    'name' => 'name',
    'comment_count' => 'comment_count',
    'last_comment_timestamp' => 'last_comment_timestamp',
    'timestamp' => 'title',
    'new_comments' => 'comment_count',
  ),
  'info' => array(
    'type' => array(
      'sortable' => 1,
      'separator' => '',
    ),
    'title' => array(
      'sortable' => 1,
      'separator' => ' ',
    ),
    'name' => array(
      'sortable' => 1,
      'separator' => '',
    ),
    'comment_count' => array(
      'sortable' => 1,
      'separator' => '<br />',
    ),
    'last_comment_timestamp' => array(
      'sortable' => 1,
      'separator' => '&nbsp;',
    ),
    'timestamp' => array(
      'separator' => '',
    ),
    'new_comments' => array(
      'separator' => '',
    ),
  ),
  'default' => 'last_comment_timestamp',
));
$handler = $view->new_display('panel_pane', 'Panel pane', 'panel_pane_1');
$handler->override_option('relationships', array(
  'field_userref_uid' => array(
    'label' => 'Felhasználónak címezve',
    'required' => 0,
    'delta' => -1,
    'id' => 'field_userref_uid',
    'table' => 'node_data_field_userref',
    'field' => 'field_userref_uid',
    'override' => array(
      'button' => 'Use default',
    ),
    'relationship' => 'none',
  ),
));
$handler->override_option('items_per_page', 10);
$handler->override_option('use_pager', '0');
$handler->override_option('use_more', 1);
$handler->override_option('pane_title', 'User Posts ajánlat');
$handler->override_option('pane_description', '');
$handler->override_option('pane_category', array(
  'name' => 'Advanced Profile Kit',
  'weight' => '0',
));
$handler->override_option('allow', array(
  'use_pager' => 0,
  'items_per_page' => 'items_per_page',
  'offset' => 0,
  'link_to_view' => 0,
  'more_link' => 'more_link',
  'path_override' => 0,
  'title_override' => 'title_override',
  'exposed_form' => FALSE,
));
$handler->override_option('argument_input', array(
  'uid' => array(
    'type' => 'context',
    'context' => 'user.uid',
    'panel' => '0',
    'fixed' => '',
    'label' => 'Felhasználó: Uid',
  ),
));
$handler->override_option('link_to_view', '0');
$handler->override_option('inherit_panels_path', 0);
$handler = $view->new_display('page', 'Page', 'page_1');
$handler->override_option('path', 'users/%/ajanlat');
$handler->override_option('menu', array(
  'type' => 'none',
  'title' => '',
  'description' => '',
  'weight' => 0,
  'name' => 'navigation',
));
$handler->override_option('tab_options', array(
  'type' => 'none',
  'title' => '',
  'description' => '',
  'weight' => 0,
));
0
0
Basesoft képe

A distinct végül megoldotta, bár nem tudom miért. Sem a view előnézetben sem a panel előnézetben nem jelent meg duplikálódás.Ezért nem gondoltam, hogy kellene használnom.
Érdekes módon csak akkor jelent meg a dupla sor ha a felhasználó nézte a saját profilját , ha én mint admin néztem nekem nem.
Ha valaki érti ennek az ok okozati összefüggését kérném ossza meg velem.

0
0