質問: マトリックスファイルアップロードフィールドを持つチャネルフォーム EE v2.7.3 Matrix v2.5.8 私はカスタムスタイルのトンを行う必要があるチャンネル:フォームを持っているので、{field:my_matrix_field}でレンダリングされたものを使って、手動でフォームマークアップを作成しました。 この方法では、新しいファイルをアップロードしたり、既存のファイルを置き換えたりすることができません。 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. 私はできない: 自分のマークアップを使ってファイルを行列フィールドにアップロードします。 {field:my_matrix_field}によって作成されたマークアップ: ``` ``` 私が作成したマークアップ: ``` ``` 注意:私は、隠しフィールドの名前attrを "not_"を先頭に付けて変更します。これは、Matrix JSが編集時にフィールドをファイルするために行う処理と似ています。 {field:my_matrix_field}バージョンはデータを正常に投稿し、マークアップは表示されません。 私は追加の隠しフィールドやJSファイルが含まれている必要がありますか?私はそれが同じである限り、手動で作成されたマークアップでうまくいくように感じます。これは他のフィールド型と同様に機能します。 ありがとう!
回答: 私は以前JSのその部分を書いていましたが、メモリが使えば、 "ファイルを削除"リンクがクリックされたときだけ、 "not_"接頭辞が適用されていました。それは、Matrix PHPの部分が探していたファイルを見つけられず、それを削除するように行われました。このJS操作の理由は、「削除」アクションが元に戻すことができるようにすることです(単に「not_」接頭辞を削除することによって)。 したがって、ユーザがファイルを削除することを選択しないで「not」を適用するだけでは、これを行う正しい方法ではありません。スクリプトは、ファイルがユーザによって削除されたと見なします。