Puncte:1

Câmpurile de paragraf dintr-un nod pot fi sortate?

drapel in

Am un tip de conținut de nod cu un câmp de paragraf cu mai multe valori. Paragraful are o dată și un câmp de text. Când afișez nodul, aș dori să sortez valorile paragrafului după dată. Am încercat să fac asta în twig cu filtrul de sortare fără niciun rezultat. Se poate face acest lucru cumva, poate cu preprocesarea câmpului?

Puncte:3
drapel cn

Acest lucru nu ar trebui să fie o problemă la sortarea elementelor de câmp în preprocesarea câmpului, dar din Drupal 9 acest lucru se poate face și în Twig.

De exemplu:

field--node--field-my-paragraph-field.html.twig:

{% set items = items|sort((a, b) => a.content['#paragraph'].field_date.date.gettimestamp() <=> b.content['#paragraph'].field_date.date. gettimestamp()) %}

Consultați documentele Twig 2.x (disponibile pentru Drupal >=9): https://twig.symfony.com/doc/2.x/filters/sort.html


Dacă .Data proprietatea nu funcționează, este un alt tip de câmp. Încercați genericul .valoare proprietate:

{% set items = items|sort((a, b) => a.content['#paragraph'].field_foo.value <=> b.content['#paragraph'].field_foo.value) %}

Acest lucru este valabil și pentru tipul de câmp Timp. Nu este adesea folosit pentru câmpurile configurate, de cele mai multe ori pentru câmpurile de bază, cum ar fi Creat sau Modificat.

pglatz avatar
drapel in
Mulțumesc - am încercat ceva similar, dar nu am reușit să funcționeze. Câmpul de dată din tipul meu de paragraf se numește `field_dw_date`, deci sortarea mea arată astfel: `% set items = items|sort((a, b) => a.content['#paragraph'].field_dw_date.date. gettimestamp() b.content['#paragraph'].field_dw_date.date.gettimestamp()) %}`. Totuși, nu funcționează, nu înțeleg cum sunt dereferențiate câmpurile. Ce înseamnă `date` în `.field_dw_date.date`?
4uk4 avatar
drapel cn
Vedeți https://drupal.stackexchange.com/questions/252333/how-to-get-formatted-date-string-from-a-datetimeitem-object
pglatz avatar
drapel in
Bine de știut, mulțumesc.

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.