Matrix Dosya Yükleme Alanı ile Kanal Formu

EE v2.7.3 Matrix v2.5.8

Bir ton özel stil yapmak zorunda olduğum bir Kanal: Formum var, bu yüzden {field: my_matrix_field} tarafından tam olarak neyin oluşturulduğunu kullanarak, form işaretlemesini el ile oluşturdum.

Yeni bir dosya yükleyemiyorum veya mevcut bir dosyayı bu yöntemle değiştiremiyorum.

I can: Upload files in the control panel Upload files by using {field:my_matrix_field} inside the form Upload files by using my own markup tied to a single, non-matrix file field. Post & updated data in text fields within the matrix field, using my own markup.

Yapamam:  Dosyaları kendi işaretlememi kullanarak bir matris alanına yükleyin.

{Alan: my_matrix_field} tarafından oluşturulan işaretleme:

<input type="file" name="cb-video[row_id_22][col_id_7]" class="file-chooser">
<input type="hidden" name="cb-video[row_id_22][col_id_7][existing]" value="logo.jpg|3" class="existing_file">

İşaretleme benim tarafımdan oluşturuldu:

<input type="file" name="cb-video[row_id_22][col_id_7]" class="file-chooser">
<input type="hidden" name="not_cb-video[row_id_22][col_id_7][existing]" value="logo.jpg|3" class="existing_file">

Dikkat "not_" ile eklenecek gizli alanın adını değiştiririm. Bu, Matrix JS'nin düzenlemede alanları dosyalamak için neler yaptığını taklit eder. {Field: my_matrix_field} sürümü, verileri başarılı bir şekilde yayınlayacak ve işaretlemem gerçekleşmeyecek.

Eklenmesi gereken ek bir gizli alan veya JS dosyası eksik mi? Ben aynı olduğu sürece, elle oluşturulan işaretleme ile çalışmalı gibi hissediyorum. Diğer alan türleri ile gayet iyi çalışıyor.

Teşekkürler!

1
Aynı işaretlemeyi oluşturuyorsanız, anlamı nedir? Neden, {field: my_matrix_field} alanının oluşturduğu işaretleme stilini oluşturmuyorsunuz?
katma yazar David A Gibson, kaynak
Çünkü sadece form alanlarını buraya ekledim. Matris alanı ile gelen işaretlemenin geri kalanı, tablo tabanlıdır ve müşterinin istediği şekilde stil oluşturmaz. Her şey üzerinde harika çalışıyor ama dosya alanı.
katma yazar Henrik Paul, kaynak

1 cevap

JS'nin bir parçasını bir süre önce yazdım, ancak bellek hizmet verirse, "not_" öneki sadece "Dosyayı Sil" bağlantısına tıklandığında uygulandı. Matrix PHP bölümü, aradığı dosyayı bulamayacak ve daha sonra silecek şekilde yapıldı. Bu JS manipülasyonunun nedeni, "silme" eyleminin geri alınamaz olmasıdır (sadece "not_" önekini kaldırarak).

Bu yüzden, kullanıcı dosyayı silmeyi seçmeden "değil" ifadesini uygulamak, komut dosyasının dosyanın kullanıcı tarafından silindiğini kabul ettiği için bunu yapmak için doğru yol değildir.

1
katma
Evet, "not_" amacını anlıyorum. Bu etkileşim için harika bir çözüm. Matrix sürümüne olabildiğince benzeyen tüm form öğelerini yapmak için JS'nizi taklit etmek için el işaretlemede el ile düzenledim. Gerekli olmadığı göz önüne alındığında, tamamen kaldırmayı denedim ama aynı sonuçla.
katma yazar Henrik Paul, kaynak