Views szűrő probléma

kisspepe képe

Sziasztok!

Nem tudom én rontottam-e el valamit, de úgy gondoltam ennek működnie kellene.

Az oldalon vannak Tutorialok. Ezeket három felé szeretném szétszedni Windows, Linux és Egyéb. Ehhez hozzá van rendelve egy Taxonomia szótár.

Views-al történő kiválogatásnál a szűrőnek megadom, a következőket:

Tartalom: Típus = Tutorialok
Taxonómia: Kifejezés !has Linux
Tartalom: Közzétett Igen

A kifejezésre ha nem egyenlőt adok meg akkor is ugyan az az eredmény.

Az eredmény pedig az, hogy megjeleníti az összes bejegyzést, a Linux tags-el ellátottakat is egymás után többször.

Amit el szeretnék érni, hogy csak azokat jelenítse meg, amelyeknek nincs Linux és Windows tags-ük.

Amit nem értek, ha megadom szűrési feltételnek, hogy a Taxonomia nem egyenlő, vagy nem tartalmazza a Linux kifejezést, akkor miért jeleníti meg mégis ráadásul többször. Amúgy maximum 3-szor jeleníti meg egymás után.

Drupal verzió: 
aboros képe

hogy lássuk pontosan mi van a nézetben.

0
0

-
clear: both;

kisspepe képe

$view = new view;
$view->name = 'tutorialok_egyeb';
$view->description = 'Tutorialok Egyéb kezdőlap';
$view->tag = 'Tutorialok Egyéb';
$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', 'Alapértelmezések', 'default');
$handler->override_option('sorts', array(
  'changed' => array(
    'order' => 'DESC',
    'granularity' => 'second',
    'id' => 'changed',
    'table' => 'node',
    'field' => 'changed',
    'relationship' => 'none',
  ),
  'created' => array(
    'order' => 'DESC',
    'granularity' => 'second',
    'id' => 'created',
    'table' => 'node',
    'field' => 'created',
    'relationship' => 'none',
  ),
));
$handler->override_option('filters', array(
  'type' => array(
    'operator' => 'in',
    'value' => array(
      'tutorialok' => 'tutorialok',
    ),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'type',
    'table' => 'node',
    'field' => 'type',
    'relationship' => 'none',
  ),
  'name' => array(
    'operator' => '!=',
    'value' => 'Linux',
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'case' => 0,
    'id' => 'name',
    'table' => 'term_data',
    'field' => 'name',
    'relationship' => 'none',
  ),
  'status' => array(
    'operator' => '=',
    'value' => '1',
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'status',
    'table' => 'node',
    'field' => 'status',
    'relationship' => 'none',
  ),
));
$handler->override_option('access', array(
  'type' => 'none',
));
$handler->override_option('cache', array(
  'type' => 'time',
  'results_lifespan' => '300',
  'output_lifespan' => '300',
));
$handler->override_option('use_ajax', TRUE);
$handler->override_option('use_pager', '1');
$handler->override_option('distinct', 0);
$handler->override_option('row_plugin', 'node');
$handler->override_option('row_options', array(
  'relationship' => 'none',
  'build_mode' => 'teaser',
  'links' => 0,
  'comments' => 0,
));
$handler = $view->new_display('page', 'Tutorialok Egyéb', 'page_1');
$handler->override_option('path', 'tutorialok/egyeb');
$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,
  'name' => 'navigation',
));

Amennyiben bekapcsolom a Különbözőt igenre, akkor nem jeleníti meg a bejegyzéseket többször, de a probléma, hogy akkor sem azt jeleníti meg ugye amit szeretnék. Most a nézetbe elvileg csak az lenne benne, hogy a Linux tags-el ellátott cikkeket ne jelenítse meg. Ehhez még hozzá kell majd venni a Windows tags-el ellátott cikkeket is.

Egy cikknél amúgy több tags is van. A válogatásnál a lényeg, hogy a Windows menüpont alá kiválogattam azokat a cikkeket, amiben a tags között szerepel a Windows. Ez működik is. Ugyan így a Linux menüpont alá is csináltam egy nézetet. Az egyéb menüponthoz meg a kettő ellentettje kellene, tehát amelyik cikkek tags-ében nem található meg a Linux és Windows kifejezés.

0
0
aboros képe

ne a term name szűrőt használjad, hanem a term id szűrőt és jó lesz.

0
0

-
clear: both;

kisspepe képe

Köszönöm a segítséget. Így már működik.

Akkor a többinél, ahol csak a Linuxost és csak a Windowsos cikkeket válogatom ki ott is érdemesebb a term id szűrőt használni? Igaz azok jók a term name szűrővel is.

0
0
aboros képe

én nem szoktam a term name szűrőt használni soha, mikor konkrét termre kell szűrnöm. nekem logikusnak tűnik, hiszen a term name nem egyedi azonosító, az id viszont az. ha mondjuk átnevezed a termet, akkor is működik ugye.

0
0

-
clear: both;

Gyuri77 képe

Sziasztok ..

Kezdő drupálos vagyok most ismerkedünk egymással :) A Szűrővel van problémám :

Szűrők:
Tartalom: Típus = Írás
Tartalom: Közzétett Igen
Tartalom: Cím = Vitaminok
Tartalom: Cím = Multivitaminok

A Vitaminok nevezetű szűrőt rendben megszűri de amikor a második szűrőt szeretném hozzáadni akkor eltűnk minden :( Próbáltam id-val de ugyanaz a helyzet !

Tudna valaki segíteni? Köszönöm előre is !!

$view = new view;
$view->name = 'multivitamin';
$view->description = 'multivitamin';
$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', 'Alapértelmezések', 'default');
$handler->override_option('relationships', array(
'term_node_tid' => array(
'label' => 'kifejezés',
'required' => 0,
'vids' => array(
'18' => 18,
'2' => 0,
'16' => 0,
'17' => 0,
),
'id' => 'term_node_tid',
'table' => 'node',
'field' => 'term_node_tid',
'relationship' => 'none',
),
));
$handler->override_option('fields', array(
'teaser' => array(
'label' => 'Bevezető',
'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,
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'exclude' => 0,
'id' => 'teaser',
'table' => 'node_revisions',
'field' => 'teaser',
'relationship' => 'none',
),
'title' => array(
'label' => 'Cím',
'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,
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'link_to_node' => 0,
'exclude' => 0,
'id' => 'title',
'table' => 'node',
'field' => 'title',
'relationship' => 'none',
),
'upload_fid' => array(
'label' => 'Csatolt fájlok',
'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,
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'type' => 'separator',
'separator' => ', ',
'link_to_file' => 0,
'only_listed' => 0,
'exclude' => 0,
'id' => 'upload_fid',
'table' => 'node',
'field' => 'upload_fid',
'relationship' => 'none',
),
'image_attach_images' => array(
'label' => 'Attached images',
'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,
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'link_to_node' => 0,
'image_derivative' => 'thumbnail',
'as_link' => 'none',
'exclude' => 0,
'id' => 'image_attach_images',
'table' => 'node',
'field' => 'image_attach_images',
'relationship' => 'none',
),
'nid' => array(
'label' => 'Tartalom azonosító',
'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,
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'link_to_node' => 0,
'exclude' => 0,
'id' => 'nid',
'table' => 'node',
'field' => 'nid',
'relationship' => 'none',
),
));
$handler->override_option('filters', array(
'type' => array(
'operator' => 'in',
'value' => array(
'story' => 'story',
),
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'type',
'table' => 'node',
'field' => 'type',
'relationship' => 'none',
),
'status' => array(
'operator' => '=',
'value' => '1',
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'status',
'table' => 'node',
'field' => 'status',
'relationship' => 'none',
),
'title' => array(
'operator' => '=',
'value' => 'Vitaminok',
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'case' => 1,
'id' => 'title',
'table' => 'node',
'field' => 'title',
'relationship' => 'none',
),
'title_1' => array(
'operator' => '=',
'value' => 'Multivitaminok',
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'case' => 1,
'id' => 'title_1',
'table' => 'node',
'field' => 'title',
'relationship' => 'none',
),
));
$handler->override_option('access', array(
'type' => 'none',
));
$handler->override_option('cache', array(
'type' => 'none',
));
$handler->override_option('distinct', 1);
$handler->override_option('style_plugin', 'table');
$handler->override_option('row_plugin', 'node');

SELECT DISTINCT(node.nid) AS nid,
node_revisions.teaser AS node_revisions_teaser,
node_revisions.format AS node_revisions_format,
node.title AS node_title,
node.language AS node_language,
node.vid AS node_vid,
node.type AS node_type
FROM node node
LEFT JOIN (SELECT td.*, tn.vid AS revision FROM term_data td INNER JOIN term_node tn ON tn.tid = td.tid WHERE td.vid IN (18)) term_data_node ON node.vid = term_data_node.revision
LEFT JOIN node_revisions node_revisions ON node.vid = node_revisions.vid
WHERE (node.type in ('story')) AND (node.status <> 0) AND ((node.title) = ('Vitaminok')) AND ((node.title) = ('Multivitaminok'))
GROUP BY nid

0
0
aboros képe

de azt magától nem tudja a 6.x views. ez a szűrőösszeállítás olyan tartalmakra fog szűrni, amik vitaminok ÉS multivitaminok _is_ egyszerre.

van views_or modul, azzal tudsz VAGY kapcsolatot teremteni két szűrő között.

ha további kérdés merülne fel légyszi nyiss új témát.

0
0

-
clear: both;

Gyuri77 képe

Köszönöm a választ megpróbálom !

0
0
balagan képe

Ha jól látom, a node címét adtad meg feltételnek, ami gondolom csak egy lehet, és így az AND feltétel nem teljesül.

0
0
balagan képe

Még aboros hozzászólása előtt olvastam a kérdést, de az OR feltételnek több értelme van, az biztos. :)

0
0
Gyuri77 képe

Köszönöm mindenkinek a segítséget megpróbálok valamilyen más megoldást mert ez nem müxik , de még küzdök vele egy keveset :)

0
0
aboros képe

és írd le azt, mit szeretnél elérni és mit csináltál eddig.

0
0

-
clear: both;