apostrof CMS yang berhubungan dengan himpunan bagian dari bagian dan hubungan

Inilah definisi acara saya

module.exports = {
  extend: 'apostrophe-pieces',
  name: 'event',
  label: 'Event',
  pluralLabel: 'Events',
  addFields: [
    {
      name: 'eventName',
      label: 'Event Name',
      type: 'string',
      required: true
    },
    {
      name: 'location',
      label: 'Location',
      type: 'string',
      required: true
    },
    {
      name: 'date',
      label: 'Date',
      type: 'date',
      required: true
    },
    {
      name: 'thumbnail',
      label: 'Thumbnail',
      type: 'singleton',
      widgetType: 'apostrophe-images',
      options: {
        limit: 1,
        minSize: [ 200, 200 ],
        aspectRatio: [ 1, 1 ]
      }
    }
  ]
};

Bagaimana saya bisa menggunakan subkumpulan hanya dari 5 peristiwa terdekat yang akan datang pada suatu halaman?

Selain itu, jika saya akan melakukan hal serupa dengan pelanggan, dapatkah saya menggunakan subkumpulan pelanggan yang berbeda di halaman berbeda berdasarkan bidang string yang mengidentifikasi industri mereka?


person Nick Ellis    schedule 23.09.2019    source sumber


Jawaban (1)


Jika Anda menggunakan modul apostrophe-events npm, daripada menjalankannya sendiri, yang Anda minta adalah perilaku default modul apostrophe-events-widgets (menampilkan 5 peristiwa berikutnya yang belum berakhir).

Jika Anda ingin melakukannya sendiri, Anda dapat melakukannya dengan menyetel opsi sort pada modul events Anda ke { date: 1 }, dan menambahkan filter kursor khusus untuk mengabaikan peristiwa yang tanggalnya sudah lewat saat dipanggil. Kemudian Anda akan memanggil metode filter tersebut dari modul widget acara Anda.

Namun, karena apostrophe-events melakukan semua ini untuk Anda dengan ketentuan tambahan untuk menangani tanggal mulai dan berakhir dengan benar jika Anda membutuhkannya, saya tidak akan merekomendasikan "menghentikannya".

Untuk melengkapinya, Anda dapat melihat penerapan filter kursor "yang akan datang" untuk apostrophe-events di sini:

https://github.com/apostrophecms/apostrophe-events/blob/master/lib/cursor.js

Dan, inilah logika di apostrophe-events-widgets untuk menggunakan filter tersebut agar hanya menampilkan acara yang akan datang di widget tersebut, yang dapat Anda tambahkan ke halaman beranda untuk mendapatkan efek yang Anda inginkan:

https://github.com/apostrophecms/apostrophe-events/blob/master/lib/modules/apostrophe-events-widgets/index.js

Modul apostrophe-events-pages (bagian dari bundel apostrophe-events) juga menggunakan filter ini secara default tetapi juga mendukung penelusuran berdasarkan tanggal, yang menggantikannya untuk memberikan akses ke peristiwa masa lalu.

person Tom Boutell    schedule 23.09.2019