1

自分で作成したフィールド定義内の既存の動作から継承したフィールドを並べ替えるにはどうすればよいですか。たとえば、plone.app.contenttypes の leadimage フィールド (動作) を使用したいのですが、定義したすべてのフィールドの一番下に配置するのではなく、説明の後に配置したいと考えています。

私はこのように試しました:

<property name="model_source">
    &lt;model xmlns:security="http://namespaces.plone.org/supermodel/security" 
          xmlns:marshal="http://namespaces.plone.org/supermodel/marshal" 
          xmlns:form="http://namespaces.plone.org/supermodel/form" 
          xmlns="http://namespaces.plone.org/supermodel/schema"&gt;
    &lt;schema&gt;
      &lt;field name="image" type="plone.namedfile.field.NamedBlobImage" form:after="description"&gt;
          &lt;title&gt;Image&lt;/title&gt;
      &lt;/field&gt;
    &lt;/schema&gt;
    &lt;/model&gt;
</property>

ところで。これを行うためのより読みやすい方法はありますか?

4

2 に答える 2

2
form.order_after(image1='ILeadImage.image')

それはうまくいきましたが、コード例の中で少し混乱していました...

フォローアップの質問: 3 つの画像フィールドがあり、それぞれにキャプション フィールドがある場合、その行をすべてのフィールド自体に追加する必要がありますか? または、フィールドセット定義のように、すべてのフィールドの順序を 1 か所で設定する方法はありますか?

于 2013-06-18T15:32:22.527 に答える
1

XML を使用してこれを試したことはありませんが、Dexterity XMLのドキュメントにはそれが可能であると書かれています。after/before属性を確認してください。

Python コードを使用すると、より詳細に制御できると思います。フォーム スキーマ ヒントのドキュメントを確認してください。

于 2013-06-12T02:56:29.100 に答える