Puncte:-2

Operatorul SAU al filtrelor de vizualizare nu este aplicat

drapel br

Am creat o vizualizare de conținut care are un grup de filtre folosind operatorul AND care este asociat cu un alt grup de filtre folosind operatorul SAU (vezi imaginea de mai jos)

introduceți descrierea imaginii aici

Cu toate acestea, interogarea construită este toți operatorii și grupurile și nici măcar nu sunt aplicate. Iată clauza WHERE a interogării:

UNDE 
(
  (
    // Conținut: tip (= la cerere)
    node__field_format.field_format_target_id = '29'
  )
) 
ȘI 
(
  (
    (
      // Conținut: publicat (= Da)
      "node_field_data"."status" = "1"
    )
    ȘI 
    (
      // Conținut: tip de conținut (în Eveniment, Training)
      „node_field_data”. „type” IN („eveniment”, „sesiune_de_antrenament”)
    )
  ) 
  ȘI
  (
    (
      // (câmp_data_și_locație: Paragraf) Paragraf: Interval de date (>= + 0 minute)
      DATE_FORMAT((paragraphs_item_field_data_node__field_date_and_location__paragraph__field_date_range.field_date_range_value + INTERVAL -21600 SECOND), '%Y-%m-%d\T%H:%i:%s') >= DATE_FORMAT('08:-18:19) + INTERVAL -21600 SECOND), '%Y-%m-%d\T%H:%i:%s')
    )
  )
)

Această interogare nu este nici pe departe aproape de ceea ce am configurat-o... După configurațiile mele, m-aș aștepta ca clauza WHERE să fie

UNDE 
(
  (
    // Conținut: publicat (= Da)
    "node_field_data"."status" = "1"
  )
  ȘI 
  (
    // Conținut: tip de conținut (în Eveniment, Training)
    „node_field_data”. „type” IN („eveniment”, „sesiune_de_antrenament”)
  )
) 
ȘI 
(
  (
    // Conținut: tip (= la cerere)
    node__field_format.field_format_target_id = '29'
  ) 
  SAU
  (
    // (câmp_data_și_locație: Paragraf) Paragraf: Interval de date (>= + 0 minute)
    DATE_FORMAT((paragraphs_item_field_data_node__field_date_and_location__paragraph__field_date_range.field_date_range_value + INTERVAL -21600 SECOND), '%Y-%m-%d\T%H:%i:%s') >= DATE_FORMAT('08:-18:19) + INTERVAL -21600 SECOND), '%Y-%m-%d\T%H:%i:%s')
  )
)

Care este problema cu configurațiile mele? Cred că aceasta ar trebui să fie o implementare destul de simplă, dar gradul în care interogarea este incorectă pare a fi nepotrivit.

Puncte:0
drapel br

Se pare că Drupal are o eroare în codul lor. Tipul de conținut pe care îl afișăm are câteva Tipuri care este un termen de taxonomie. Dacă o înregistrare are un La cerere tip taxonomie, nu are o dată. Cu toate acestea, atunci când afișăm această listă, trebuie să afișăm tot conținutul cu o dată în viitor SAU are tipul de taxonomie „La cerere”.

În plus, avem un filtru expus care permite unui utilizator să filtreze după acest tip de termen de taxonomie. Prin urmare, există două filtre separate pe același câmp, unul este expus, celălalt nu.

În primul grup de condiții, există o condiție de filtru expusă numită Are termen de taxonomie adică se uită la Subiect termen de taxonomie.

În al doilea grup de condiții, există o condiție de filtru neexpusă numită Tipul de conținut care se uită și la Subiect termen de taxonomie.

Cu toate acestea, atunci când Drupal construiește această clauză where. se pune pe Tip de conținut == La cerere condiție în grupul de afecțiuni în care există filtrul expus similar.

TREBUIE să remediați asta hook_views_query_alter. Am raportat acest lucru ca o eroare pe Drupal.org

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.