Grav-plugin-admin: Bidang bersyarat - Setel ketentuan ke bidang lain/saudara kandung

Dibuat pada 24 Agu 2018  ·  5Komentar  ·  Sumber: getgrav/grav-plugin-admin

Dalam file cetak biru untuk templat saya ingin menggunakan bidang pengulang/daftar,
yang memiliki bidang pilih dengan opsi,
dan bidang bersyarat yang mengevaluasi pilihan yang dipilih pengguna untuk menampilkan bidang yang sesuai.

Saya ingin menggunakan ini untuk artikel yang panjang, di mana pengguna dapat menambahkan/mengganti berbagai jenis komponen

Bagaimana cara mengatur kondisi ke nilai bidang pilih (dalam pengulangan)?
Karena kodenya sekarang, hanya pilihan yang terlihat dan persyaratan tidak berpengaruh.

        header.field.selection:
          type: list
          style: vertical
          label: Repeater/list with conditional field selection
          fields:
            .select: # this select sets the boolean for the conditional fields
              type: select
              size: long
              classes: fancy
              label: Select the type of field you would like to add
              options:
                tinymce: Textarea
                slideshow: Slideshow
                testimonial: Testimonial
                video: Video
            .tinymce:
              type: conditional # if Textarea was selected render the tinymce fields
              condition: "header.field.selection.select is same as('tinymce') ? 'true' : 'false'"
              fields: 
                .fieldName:
                  type: text
                  label: Tinymce
            .slideshow:
              type: conditional # if slideshow was selected render the slideshow fields
              condition: "header.field.selection.select is same as('slideshow') ? 'true' : 'false'"
              fields: 
                .fieldName2:
                  type: text
                  label: Slideshow
            .testimonial:
              type: conditional # if testimonial was selected render the testimonial fields
              condition: "header.field.selection.select is same as('testimonial') ? 'true' : 'false'"
              fields: 
                .fieldName3:
                  type: text
                  label: Testimonial
            .video:
              type: conditional # if video was selected render the video fields
              condition: "header.field.selection.select is same as('video') ? 'true' : 'false'"
              fields: 
                .fieldName4:
                  type: text
                  label: Video
question

Semua 5 komentar

Bidang bersyarat bukanlah sesuatu yang bekerja 'hidup' berdasarkan bidang lain, itu hanya dapat menjalankan fungsi PHP saat dilayani dan membuat keputusan kemudian. Hal lain akan membutuhkan Javascript untuk dijalankan.

Terima kasih rhukster.

Saya berhasil membuat 'Bidang Konten Fleksibel'** (seperti bidang khusus Lanjutan di Wordpress). Anda dapat melihat kodenya di sini

** Tentukan grup sub bidang (tata letak) dan tambahkan, edit, dan atur ulang untuk membuat konten yang sangat disesuaikan!

Ingin melihat sesuatu seperti ini sebagai bidang inti di plugin Formulir :) PR mungkin??

@rhukster
Permintaan tarik telah dibuat untuk 'fitur/bidang-bentuk-fleksibel' cabang.
Status:

  • Templat pemilihan bidang dapat digunakan. Bidang yang ditambahkan disimpan dan dimuat dengan benar.
  • Js & Css masih perlu ditambahkan.
  • example-fieldselection.yaml ditambahkan.

Saya butuh bantuan tentang:

  • Penyortiran bidang tidak disimpan di frontmatter.

terima kasih

(saya di saluran slack sebagai 'genenenenaam')

@rhukster

apakah ada ketergantungan pada 'penyortiran item daftar' dan nama templat bidang 'list.html.twig' ?

Saya melakukan tes dan sepertinya:

  • jika Anda membuat folder 'pilihan bidang' baru pada level yang sama dengan tempat folder 'daftar' berada.
  • duplikat file 'list.html.twig', ganti namanya menjadi 'fieldselection.html.twig' dan letakkan di dalam folder 'fieldselection'.
  • jika sekarang Anda membuat cetak biru di mana Anda menggunakan jenis bidang 'daftar', tetapi Anda memberinya jenis 'pemilihan bidang'.
    (yang seharusnya tidak membuat perbedaan, karenanya kedua jenis memiliki konten kode yang sama)
  • Pengurutan ulang tidak berfungsi untuk jenis 'pilihan bidang', tetapi berfungsi untuk jenis 'daftar'.
    (Sama untuk menghapus item)

Saya yakin jawaban untuk ini dapat menyelesaikan masalah saya dengan status fitur baru saat ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

coolemur picture coolemur  ·  3Komentar

wildafrica picture wildafrica  ·  4Komentar

maciejmatu picture maciejmatu  ·  3Komentar

ritchiedalto picture ritchiedalto  ·  6Komentar

danzinger picture danzinger  ·  5Komentar