2

スキーマで定義されたさまざまな編集ビューとフィールドセットを持つ器用さベースのコンテンツ タイプがあります。最初のフィールドセット以外のウィジェット/フィールドを更新したいときはいつでも、扱いにくくなります。例えば:

self.groups[0].fields['my_field'].mode = HIDDEN_MODE

2 番目my_fieldのフィールドセットから非表示にするために使用する必要があります。同じフィールドを必須にするには

self.schema['my_field'].required = True

トリックを行います。

しかし、最初のフィールドセット以外のウィジェットに css クラスを追加するにはどうすればよいでしょうか? つまり、何

self.fields['my_field_on_first_fieldset'].widget.addClass("myClass")

私のウィジェットが最初のフィールドセット「ページ」にある場合は、そうします。

4

1 に答える 1

3

Martin Aspeli のチュートリアルに従って、リクエストをテストしたところ、サブフィールドセット内の非表示のウィジェットに klass-attribute を適用できず、ウィジェットの名前に関して「キー エラー」が返されることが確認できました。

他の属性 fe 'size' では問題ありません。

代わりに、Javascript を介してクラスを適用できます。

クライアントで Javascript が有効になっていない場合にフォールバックを提供したい場合は、updateWidget() に条件を追加して、有効になっているかどうかを確認し、有効になっていない場合は、addClass() を使用してクラスにそれぞれ klass-attribute を適用します。すべてのフィールドが表示され、非表示にならないため、これは機能します。

于 2013-03-20T10:15:53.607 に答える