Puncte:0

Afișează Meniul de salt care conține numai termeni de taxonomie frați

drapel nr

eu folosesc Vizualizări Jump Menu cu Drupal 9.

Nodurile sunt etichetate cu a versiunea_software taxonomie ierarhică, urmând acest model:

âââ foo
â  âââ 0.1.0
â  âââ 0.2.0
âââ bar
â  âââ 0.3.0
â  âââ 0.3.1
â  âââ 0.4.0
âââ baz
    âââ 0.1.0
    âââ 0.2.0
    âââ 0.3.0

Planul este ca nodurile unui tip de conținut personalizat să fie etichetate cu un termen copil din lista de mai sus (valorile numerice), generând o listă de salt care conține numai nodurile etichetate cu termeni frați care au același părinte (adică, doar documentația) pagini pentru versiuni diferite ale aceluiași software).

Sub /admin/structure/views/view/taxonomy_jump_menu/edit, există o afișare bloc a unei vizualizări care returnează în prezent întreg vocabularul taxonomiei, cu toți părinții și copiii. Cu alte cuvinte, meniul Jump face legătura cu documentația pentru toate versiunile diferitelor software.

Am sperat că există o modalitate în Views de a adăuga un filtru contextual care ar putea determina termenul de taxonomie TID al nodului curent din URL, folosiți-l pentru a determina TID-ul părinte imediat al TID (din care ar trebui să existe doar unul) și generați un meniu de salt care conține toți copiii TID-ului părinte, excluzând termenul părinte în sine.

Configurația pentru această vizualizare este de sute de linii de YAML, dar iată un extras (cu multe linii irelevante șterse, dar indentarea păstrată):

dependențe:
  config:
    - taxonomy.vocabulary.software_version
  modul:
    - taxonomie
    - utilizator
    - views_jump_menu
id: taxonomy_jump_menu
etichetă: „Taxonomie Jump Menu”
modul: vederi
Descriere: ''
etichetă: ''
tabel_de_bază: taxonomy_term_field_data
câmp_bază: tid
afişa:
  Mod implicit:
    Optiuni de afisare:
      interogare:
        tip: views_query
      stil:
        tip: jump_menu
      rând:
        tip: câmpuri
      câmpuri:
        parent_target_id:
          id: parent_target_id
          tabel: taxonomy_term__parent
          câmp: parent_target_id
          relație: niciuna
          tip_grup: grup
          exclude: adevărat
        tid:
          id: tid
          tabel: taxonomy_term_field_data
          câmp: tid
          relație: niciuna
          tip_grup: grup
          exclude: fals
          modifica:
            alter_text: adevărat
            text: „/taxonomie/term/{{ tid }}”
        Nume:
          id: nume
          tabel: taxonomy_term_field_data
          numele domeniului
          relație: niciuna
          tip_grup: grup
          exclude: fals
      filtre:
        stare:
          valoare: „1”
          tabel: taxonomy_term_field_data
          câmp: stare
          plugin_id: boolean
          entity_type: taxonomy_term
          entity_field: stare
          id: stare
          expune:
            operator: ''
            operator_limit_selection: fals
            lista_operatori: { }
          Grupa 1
        vid:
          id: vid
          tabel: taxonomy_term_field_data
          câmp: vid
          valoare:
            versiunea_software: versiunea_software
          entity_type: taxonomy_term
          entity_field: vid
          plugin_id: pachet
          expune:
            operator_limit_selection: fals
            lista_operatori: { }
          Grupa 1
      sortează: { }
      titlu: „Meniu Jump Taxonomie”
      relații: { }
      argumente: {  }
      filter_groups:
        operator: AND
        grupuri:
          1: ȘI

Sunt multe altele de unde a venit, dar încerc să includ doar detalii importante!

Nu cred că această întrebare are un răspuns duplicat pe acest forum. Cele mai apropiate pe care le-am găsit sunt această întrebare care se referă la meniuri mai degrabă decât la taxonomie (deși poate problema mea este că ar trebui să folosesc un meniu de taxonomie aici) și această întrebare nerezolvată care nu include suficiente detalii pentru a ști dacă este relevant.

Am verificat si eu emite cozi pentru modulul contrib, dar chiar pare să fie o limitare a Views, care este în nucleu.

Am incercat sa adaug Configurați filtrul contextual: Termen de taxonomie: Părinți termen la Vizualizare, dar care generează în mod neașteptat un meniu de salt care conține numai termeni parentali:

âââ foo
âââ bar
âââ baz

În acest moment, încep să cred că va fi mult mai ușor să scrieți o implementare hook care va modifica interogarea, dar acesta este un subiect greu de cercetat online. (Interogările mele de căutare generează o mulțime de cozi de probleme irelevante care se întorc la Drupal 5.)

Deci, pentru a se reduce totul la o întrebare la care să răspundă, ce implementarea cârligului ar fi cel mai potrivit pentru această sarcină?

Înclin spre folosire hook_views_query_alter() pentru a modifica $interogare obiectul însuși (în interiorul $interogare->unde) bazat pe acest comentariu, dar sunt în apă destul de adâncă aici.

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.