問題タブ [dexterity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
plone - プログラムで作成された敏捷性アイテムにフィールドのデフォルトを設定する
plone.directives.form.Schema
デフォルトを割り当てるためのフォームヒントがいくつかある、Dexterityコンテンツタイプがあります。
デフォルトのいくつかはより複雑で、それ自体がDexterityタイプのインスタンスであるオブジェクトを返します。これらのオブジェクトは、さまざまなイベントによってトリガーされるメインタイプのセットアップに不可欠です。
現在、テスト中です。理想的には、次のようなものを使用できるようにしたいと思います。
つまり、コンストラクターに手動で渡さなくても、デフォルトがアイテムによって取得されるようにしたいと思います。
使用している場合はzope.schema
、FieldPropertyを使用してスキーマフィールドへのプロキシを設定できます。器用さ、またはフォーム作成を通じてオブジェクトをプッシュするための関数に相当するものはありますか?
解決策: Davidのオプション#1、インターセプトを使用することになりましたObjectCreatedEvent
。
それでも、フォームの動作の一部を複製しているように感じますが、少なくとも、フォームのデフォルトを提供しているのと同じ関数を使用しています。
plone - Dexterity スキーマまたは XML に従来のインターフェイスを使用していますか?
Plone Dexterity は、インターフェイス (定義に zope.schema を使用) または XML ファイルを介してコンテンツ タイプ スキーマの定義をサポートします。好ましい/推奨される方法は何ですか?
さらに: スキーマ (models/mytype.xml) を定義するために使用される XML 方言のドキュメントはありますか?
このプレゼンテーションは近いように見えますが、完全ではありません。
testing - 器用さのコンテンツ作成を個別にテストする
プロジェクトの場合、いくつかのサブコンポーネントを含む複雑なマスターオブジェクトがあります。これらのオブジェクトの設定は、次のようなさまざまなライフサイクルおよびワークフローイベントにバインドするコンストラクターインターフェイスによって制御されます。
私ができるようにしたいのは、イベントハンドラーに依存せずにコンストラクターメソッドをテストすることです。ライフサイクルイベントを回避するために、オブジェクトを直接作成してこれを実行しようとしました。
このsetup
メソッドはCustom_Folder
、マスターオブジェクトに指定された属性に応じて、インスタンス内にいくつかのアイテムを作成します。ただし、これはハングしています。これは、どちらのオブジェクトも実際にはサイトに属していないためだと思います。そのため、権限を取得することはできません。createContent
これは、マスターオブジェクトをに変更してテストサイトの適切な部分に追加することで取得できますが、すべてcreateContentInContainer
のライフサイクルイベントがトリガーされ、コンストラクター呼び出しが実行されるため、テストできません。隔離。
これにモックオブジェクトを使用してみましたが、コンストラクター中に発生することを意図したコンテンツの作成を処理するのが面倒になりました.setup
。
これにアプローチするための最良の方法は何ですか?
plone - Dexterity の z3c.relationfield による後方参照
z3c.relationfield.schema.RelationList または RelationChoice を使用すると、他の Dexterity コンテンツ オブジェクトとの関係を維持できます。Archetypes では、機能的なコンテキストがありました。getBRefs() を使用して、現在の「コンテキスト」オブジェクトを参照するオブジェクトのリストを取得します。z3c.relationfield または Dexterity に似たようなものはありますか? Dexterityで「後方参照」を取得する標準的な方法は何ですか?
python - plone 4 の単純な器用さコンテンツ タイプの実装
私は Plone 開発を学び始めてとてもイライラしています。Plone 4 用の器用さベースのコンテンツ タイプを開発したいと考えています。私は経験豊富な Python 開発者で、Zope と Grok についてある程度の知識があり、buildout にはかなり慣れていません。そうは言っても、Martin Aspeli の「Professional Plone 4 Development」を読みましたが、本のかなりのバージョン情報が古くなっているようです。
buildout を使用して、Plone インスタンスを起動して実行することができました。ZopeSkel はインストールされていますが、新しいパッケージを作成しようとすると、次のようなエラーが発生します。
指定されたディレクトリ内から paster を実行しようとすると、コマンド「add」が不明であることがわかります。ZopeSkel のさまざまなバージョンを試し、生の plone テンプレートと zopeskel.dexterity も試しました。バージョンとテンプレートによって出力が若干異なりますが、結果は同じです。
明らかに、Plone の開発はバージョンの変更に非常に敏感であるように思われます。http://plone.org/products/dexterity/documentation/manual/developer-manualは、1114年前に前回更新されたことを教えてくれます。
本当に機能するPlone 4用の非常に単純な器用さのコンテンツタイプを開発するための出発点を誰か教えてくれませんか?
plone - Dexterity に基づいてコンテンツ オブジェクトの IntID を取得する正規の方法
Five.intid のドキュメントには、オブジェクトの IntID を取得するための次のパターンが記載されています。
これはPloneでも正規の方法ですか、それとも上記のコードをラップするヘルパー/ユーティリティメソッドがありますか?
validation - 器用さ: プログラムによる作成前のデータの検証
Dexterity 型をプログラムで作成する場合、ファクトリに渡されるデータをフォームからのものであるかのように検証することは可能ですか?
多数の制約、不変条件、およびバリデーターを備えた Dexterity コンテンツ タイプがあります。
MyType のすべてのインスタンスが適切な既定値を持つようにするために、FieldProperty を使用してマップされた属性を持つカスタム クラスを作成し、型の FTI 宣言に割り当てました。
ただし、 を使用すると、課せられた制約などに準拠しないplone.dexterity.utils.createContentInContainer
オブジェクトをインスタンス化することができます。理想的には、作成を行う前に、この検証を自分で実行できるようにしたいと考えています。
ここで私が見逃している簡単なアプローチはありますか? collective.transmogrifier を簡単に見てみましたが、入力の検証については言及されていません。
ありがとう。
plone - Ploneでカスタマイズされた器用さ編集フォームテンプレート?
私は、Dexterityコンテンツのスキンを変更した代替編集フォームを必要とするPloneアドオンに取り組んでいます。編集フォームの一部のみをAJAXオーバーレイで表示できるようにする必要があります(JQueryツールではなくJQuery UIを使用するため、JavaScriptでフィルタリングするよりもサーバー側で行う方が合理的と思われます)**。
Dexterity Developer's Guideのドキュメントには、マクロを使用してカスタムテンプレートを作成できることが示されているようです。ただし、このセクションには何かが欠けています。おそらく、ビューをバインドするためにgrokを使用していない人々にとって重要なコンテキストですが、おそらく他の何かです。テンプレートのみのビューの作成は失敗し(明らかにビュークラスから名前を見つけることができません)、ZCMLのカスタムテンプレートをストックビュークラスまたはそのサブクラスのいずれかにバインドしようとすると失敗します(テンプレートは無視され、ストックテンプレート)。
私の目標:
- 基本的に#contentdiv内のコンテンツのみを含むベアテンプレートにラップされた編集を行います。
- ラップされていないz3c.formレンダリングだけではなく、ラップするための最小限のテンプレートも必要です。ストックのPloneビューレットマネージャーと家具だけではありません。
動作しないもの:
ZCMLに相当するもの(ランタイムマジックでインデックスを定義する)もここでは機能しません。
カスタムテンプレートを編集フォームに挿入するにはどうすればよいですか?
**私はSolgema.fullcalendarとplone.app.eventの敏捷性ベースのタイプとの互換性に取り組んでいます。Solgema.fullcalendarは、plone.app.jquerytoolsオーバーレイヘルパーではなく、ポップアップにjQueryUIを使用します。一貫性を保つために、この最小限のビューを使用し、通常のPloneオーバーレイのJavaScriptのフィルターメカニズムを模倣しようとしないことは理にかなっています。
plone - 器用さオブジェクトのフィールドを一覧表示します
器用さオブジェクトのすべてのフィールド(および値)をリストしたいと思います。
このような単一のフィールド値に簡単にアクセスできますmyobject.myfield
しかし、オブジェクトの使用可能なすべてのフィールドを一覧表示する方法がわかりません。
plone - plone: マーカーの動作を有効/無効にした後にビューを再登録する方法
動作が有効になっている場合に使用できるビューを作成しました。
configure.zcml にも動作を追加しました
http://plone.org/products/dexterity/documentation/manual/behaviors/referencemanual-all-pagesのセクションプライマリ マーカーの動作を読んだ後、これで十分だと思います。しかし、どうやらそうではないようです。MyBehavior TTW を有効にしてから my-view を開こうとすると、ビューが利用できません。
動作を有効/無効にした後に plone インスタンスを再起動すると、期待どおりに動作することに気付きました。動作 TTW を有効にした後、ビューを再登録する必要があると思います。
今の問題は、どうすればそれを行うことができるかということです。